Search code examples
linuxgccgcc-warning

How to configure GCC to show all warnings by default?


I think it will be good and not much bad if -Wall flag is switched on by default. How do I configure GCC like this?

Is there any drawbacks to this other than the fact that a lot of warnings will flood your terminal when you are compiling some large program from source?


Solution

  • juzzlin suggested that a good method would be to write a wrapper for gcc. Marc Glisse also suggested that writing one is the best way to achieve what I want. So that's just what I did.

    I made a bash script that calls gcc for me:

    #!/bin/sh
    
    echo -n "Compiling $1..."
    
    
    
    gcc -Wall -Werror -o $(basename $1 .c).out $1
    
    a=$?
    
    if [[ "$a" -eq 1 ]]; then
        echo "Failed!"
    
    else 
        echo "Done." 
        echo "Executing:"
        ./$(basename $1 .c).out
    fi
    

    Then I copied the script to /usr/bin and made it executable:

    sudo cp car /usr/bin
    chmod +x /usr/bin/car
    

    (The name of the script is car which stands for "Compile And Run") So whenever I want to compile a source file and run it, I will type:

    car mysourcefile.c