So I decide I feel like learning C with little prior knowledge. I find out I need a compiler, the tutorial tells me I should go with minGW64. I look for installation instructions for Fedora, it says “Installation: through integrated package manager.” - wtf does that mean??? I do sudo dnf search mingw64, I get around 100 results. Yeah, I ain’t trying each and every one till I find out which I need. I open their website and scroll, lots of versions, don’t know which to pick, something about LLVM? WTF is that? Lots of acronyms in general, total confusion. Alright, I’ll just head to the in-built fedora app store. Besides me failing to locate the search bar and struggling, nothing. I go back to the MinGW website, can’t find anything. Now I’m stuck, what should I do? Each time something is so easy, it goes without saying, it seems I’m the one who gets the short end of the stick
Mingw64 is for compiling programs to be run on windows system. It would be probably be better to install the regular C compiler and libraries in this way
sudo dnf -C group install 'C Development Tools and Libraries'
Example program hello.c
#include <stdio.h>
int main(void)
{
printf("Hello, world\n");
return 0;
}
To compile and run
cc hello.c -o hello
./hello
That is exactly what happens to people who look for easy solutions to difficult problems.
Which tutorial? Maybe it was written by that famous expert, chatGPT. Does it give reasons for the recommendation?
minGW64
is for Windows, and is based on the GNU Compiler Collection (GCC). Do you want to build programs to run on Windows or on Linux?
Which tutorial?
minGW64 is for windows apps being compiled on linux for use on windows.
As noted, if one wishes to learn programming and compiling it takes quite a bit of time and study to do things right. One must know as a minimum the OS for which the app is destined.
Competent programmers spend years learning to do it right
and then still have tons to learn to become experts. I spent 4 years in college and still at that point considered myself only passable in skills.
To see available groups of apps for software development among the many groups available one only needs to run dnf group list
and the return shows groups of software for specific purposes. Install the chosen group and in most cases the libraries and compiler needed will then be available.
I wanted to build programs for Linux, the tutorial was one of the first I found (C Programming Full Course for free 🕹️ - YouTube)
“That is exactly what happens to people who look for easy solutions to difficult problems.” - I mean programming generally is a heap of difficult programs and any attempt at understanding what is happening is simplifying the complex clusterfuck that is a program, every attempt at learning how to program, no matter the language, has ended as a failure pretty much because everything goes without saying and I’m not naturally talented at computers or maths
I don’t understand what I am looking at. There’s manifold names of groups for sure but that is all I am seeing. I guess I could try installing some of them but I don’t even know what they contain.
Yeah and I’m pretty much at the very beginning of that journey once more, the chances I succeed this time are next to nil because I suck at computers, but it’s worth a try in my free time
I get various errors telling me I have incorrect checksums in the repositories “fedora” and “updates”. I have Fedora 37 with all the most current updates installed
it was suggested by @vekruse with a command above what to install and a complete sample code bit that one could compile and execute. The name of the group generally tells one the content. The one he suggested was 'C Development Tools and Libraries'
which tells the reader that it is for development using C (which also includes C++).
The pitfall in following many ‘tutorials’ especially on youtube is that they expect one to already have a certain level of knowledge and expertise. They also may be for specific purposes and/or OSes, which they expect the viewer to understand.
Telling one something like this is meaningless unless the text and errors are also shown along with the commands that produce it.
Can you copy-paste these messages? Otherwise we can’t be sure what you were talking about.
C Programming Full Course for free 🕹️ - YouTube
you referred looked quite decent, but the part about installing the C compiler was assuming you were a windows user.
You could also get the K&R book https://en.wikipedia.org/wiki/The_C_Programming_Language. Ask Google where to get it.