User forums > Using Code::Blocks
Lost compiler flags in Build options.
pabristow:
I have a similar problem.
When I click on the any GCC version Build options, Compiler tab, no screen of options appears :-(
I note that %APPDATA%/codeblocks/ I have two files
"C:\Users\Paul\AppData\Roaming\CodeBlocks\share\codeblocks\compilers\options_gcc.xml" 10 kB and
"C:\Users\Paul\AppData\Roaming\CodeBlocks\share\codeblocks\compilers\options_gnu_gcc_611_compiler.xml" 20 kB
Looks like something is lost from the options_gcc.xml
I have tried renaming or deleting either or both of these with no good results (missing compiler info boxes are startup).
so I tried renaming the bigger one to options.gcc-xml and that provides the options screen.
However when compiling using a GCC compiler, I now get a message -Weverything is not a know option.
Since this has come from options_clang.xml, no options_gcc.xml I've obviously got more than one thing scrambled :-(
Please can you suggest how to get working again.
Upgrade to 17? (I am using the latest compiler version Clang 5 (or 6) and GCC 7.2.0).
Thanks
Paul
BlueHazzard:
i have the same issue, and try to fix this for quite some time.
EDIT: Deleting the xxxx_gcc.xml from the AppData/Roaming/Codeblocks/shared/codeblocks folder did the thing...
I have also the problem, that the compiler selection dialogue shows up every time i start codeblocks. I think some config file is broken, but i can not figure out where this dialog is called...
Any hint where to start to debug? Is the default compiler selection dialog part of the compiler plugin or the main application?
oBFusCATed:
--- Quote from: BlueHazzard on February 08, 2018, 05:27:14 pm ---Any hint where to start to debug? Is the default compiler selection dialog part of the compiler plugin or the main application?
--- End quote ---
The compiler plugin. Search for the dialog name. Then you'll find the xrc file. There you'll see the id of the dialog and then searching by this id you could find where the dialog is created.
The other options is to start C::B under a debugger and break when the dialog is shown. If you inspect the callstack you'll see the place where the dialog has been shown.
vid512:
This has just happened to me with C::B nighly, on Debian 10 (buster).
--- Quote ---Name : Code::Blocks
Version : svn-r11979
SDK Version : 1.47.0
Scintilla Version: 3.7.5
Author : The Code::Blocks Team
E-mail : info@codeblocks.org
Website : http://www.codeblocks.org
wxWidgets Library (wxGTK port)
Version 3.0.4 (Unicode: wchar_t, debug level: 1),
Runtime version of toolkit used is 2.24.
Compile-time GTK+ version is 2.24.32.
--- End quote ---
In "Project build options", the "Compiler flags" is now empty for "GNU GCC Compiler". For all other compilers it displays options normally. This has happened recently. Restarting C::B doesn't help.
As described previously, deleting the "~/.local/share/codeblocks/compilers/options_gcc.xml" solves this problem.
However, I am sure I haven't created this file manually. It must have been the Code::Blocks itself. Prior to this happening, I have been fiddling around a lot with Project build options, and restarting C::B often, something there must have triggered this. I might have accidentally switched compiler to something else and then back to GCC.
Contents of /usr/share/codeblocks/compilers/options_gcc.xml:
--- Code: ---<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_compiler_options>
<CodeBlocks_compiler_options>
<if platform="windows">
<Program name="C" value="mingw32-gcc.exe"/>
<Program name="CPP" value="mingw32-g++.exe"/>
<Program name="LD" value="mingw32-g++.exe"/>
<Program name="DBGconfig" value="gdb_debugger:Default"/>
<Program name="LIB" value="ar.exe"/>
<Program name="WINDRES" value="windres.exe"/>
<Program name="MAKE" value="mingw32-make.exe"/>
</if>
<else>
<Program name="C" value="gcc"/>
<Program name="CPP" value="g++"/>
<Program name="LD" value="g++"/>
<Program name="DBGconfig" value="gdb_debugger:Default"/>
<Program name="LIB" value="ar"/>
<Program name="WINDRES" value=""/>
<Program name="MAKE" value="make"/>
</else>
<Switch name="includeDirs" value="-I"/>
<Switch name="libDirs" value="-L"/>
<Switch name="linkLibs" value="-l"/>
<Switch name="defines" value="-D"/>
<Switch name="genericSwitch" value="-"/>
<Switch name="objectExtension" value="o"/>
<Switch name="needDependencies" value="true"/>
<Switch name="forceCompilerUseQuotes" value="false"/>
<Switch name="forceLinkerUseQuotes" value="false"/>
<Switch name="logging" value="default"/>
<Switch name="libPrefix" value="lib"/>
<Switch name="libExtension" value="a"/>
<Switch name="linkerNeedsLibPrefix" value="false"/>
<Switch name="linkerNeedsLibExtension" value="false"/>
<Switch name="supportsPCH" value="true"/>
<Switch name="PCHExtension" value="gch"/>
<Switch name="UseFullSourcePaths" value="true"/>
<!-- Summary of GCC options: http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html -->
<Option name="Produce debugging symbols"
option="-g"
category="Debugging"
checkAgainst="-O -O1 -O2 -O3 -Os"
checkMessage="You have optimizations enabled. This is Not A Good Thing(tm) when producing debugging symbols..."
supersedes="-s"/>
<Option name="Optimize debugging executable (compile speed, execution speed and better debugging)"
option="-Og"
category="Debugging"
supersedes="-O -O1 -O2 -O3"/>
<Option name="Target x86 (32bit)"
option="-m32"
additionalLibs="-m32"
supersedes="-m64"/>
<Option name="Target x86_64 (64bit)"
option="-m64"
additionalLibs="-m64"
supersedes="-m32"/>
<Option name="Position Independent Code"
option="-fPIC"/>
<Option name="Static linking"
additionalLibs="-static"/>
<Option name="Static libgcc"
additionalLibs="-static-libgcc"/>
<Option name="Static libstdc++"
additionalLibs="-static-libstdc++"/>
<if platform="windows">
<Option name="Profile code when executed"
option="-pg"
category="Profiling"
additionalLibs="-pg -lgmon"
supersedes="-s"/>
</if>
<else>
<Option name="Profile code when executed"
option="-pg"
category="Profiling"
additionalLibs="-pg"
supersedes="-s"/>
</else>
<!-- warnings -->
<Common name="warnings"/>
<Category name="Warnings">
<Option name="Enable Effective-C++ warnings (thanks Scott Meyers)"
option="-Weffc++"/>
<Option name="Warn whenever a switch statement does not have a default case"
option="-Wswitch-default"/>
<Option name="Warn whenever a switch statement has an index of enumerated type and lacks a case for one or more of the named codes of that enumeration"
option="-Wswitch-enum"/>
<if exec="C -dumpversion"
regex="^[4-9]"
default="true">
<Option name="Warn if a user supplied include directory does not exist"
option="-Wmissing-include-dirs"/>
</if>
<Option name="Warn if a global function is defined without a previous declaration"
option="-Wmissing-declarations"/>
<Option name="Warn if the compiler detects that code will never be executed"
option="-Wunreachable-code"/>
<Option name="Warn if a function can not be inlined and it was declared as inline"
option="-Winline"/>
<Option name="Warn if floating point values are used in equality comparisons"
option="-Wfloat-equal"/>
<Option name="Warn if an undefined identifier is evaluated in an '#if' directive"
option="-Wundef"/>
<Option name="Warn whenever a pointer is cast such that the required alignment of the target is increased"
option="-Wcast-align"/>
<Option name="Warn if anything is declared more than once in the same scope"
option="-Wredundant-decls"/>
<Option name="Warn about unitialized variables which are initialized with themselves"
option="-Winit-self"/>
<Option name="Warn whenever a local variable shadows another local variable, parameter or global variable or whenever a built-in function is shadowed"
option="-Wshadow"/>
<Option name="Warn if a class has virtual functions but no virtual destructor"
option="-Wnon-virtual-dtor"/>
</Category>
<!-- optimization -->
<Common name="optimization"/>
<Option name="Don't keep the frame pointer in a register for functions that don't need one"
option="-fomit-frame-pointer"
category="Optimization"
checkAgainst="-g -ggdb"
checkMessage="You have debugging symbols enabled. This is Not A Good Thing(tm) when optimizing..."/>
<!-- machine dependent options - cpu arch -->
<Common name="architecture"/>
<Command name="CompileObject"
value="$compiler $options $includes -c $file -o $object"/>
<Command name="GenDependencies"
value="$compiler -MM $options -MF $dep_object -MT $object $includes $file"/>
<Command name="CompileResource"
value="$rescomp $res_includes $res_options -J rc -O coff -i $file -o $resource_output"/>
<Command name="LinkConsoleExe"
value="$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs"/>
<if platform="windows">
<Command name="LinkNative"
value="$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs -Wl,--subsystem,native"/>
<Command name="LinkExe"
value="$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs -mwindows"/>
<Command name="LinkDynamic"
value="$linker -shared -Wl,--output-def=$def_output -Wl,--out-implib=$static_output -Wl,--dll $libdirs $link_objects $link_resobjects -o $exe_output $link_options $libs"/>
<Command name="LinkStatic"
value="cmd /c if exist $static_output del $static_output\n$lib_linker -r -s $static_output $link_objects"/>
</if>
<else>
<Command name="LinkNative"
value="$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs"/>
<Command name="LinkExe"
value="$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs"/>
<Command name="LinkDynamic"
value="$linker -shared $libdirs $link_objects $link_resobjects -o $exe_output $link_options $libs"/>
<Command name="LinkStatic"
value="rm -f $static_output\n$lib_linker -r -s $static_output $link_objects"/>
</else>
<Common name="cmds"/>
<Common name="re"/>
<Common name="sort"/>
</CodeBlocks_compiler_options>
--- End code ---
Contents of ~/.local/share/codeblocks/compilers/options_gcc.xml:
--- Code: ---<?xml version="1.0" encoding="UTF-8"?>
<CodeBlocks_compiler_options>
<Program name="C" value="gcc"/>
<Program name="CPP" value="g++"/>
<Program name="LD" value="g++"/>
<Program name="DBGconfig" value="gdb_debugger:Default"/>
<Program name="LIB" value="ar"/>
<Program name="WINDRES" value=""/>
<Program name="MAKE" value="make"/>
<Switch name="includeDirs" value="-I"/>
<Switch name="libDirs" value="-L"/>
<Switch name="linkLibs" value="-l"/>
<Switch name="defines" value="-D"/>
<Switch name="genericSwitch" value="-"/>
<Switch name="objectExtension" value="o"/>
<Switch name="forceFwdSlashes" value="false"/>
<Switch name="forceLinkerUseQuotes" value="false"/>
<Switch name="forceCompilerUseQuotes" value="false"/>
<Switch name="needDependencies" value="true"/>
<Switch name="logging" value="default"/>
<Switch name="libPrefix" value="lib"/>
<Switch name="libExtension" value="a"/>
<Switch name="linkerNeedsLibPrefix" value="false"/>
<Switch name="linkerNeedsLibExtension" value="false"/>
<Switch name="linkerNeedsPathResolved" value="false"/>
<Switch name="supportsPCH" value="true"/>
<Switch name="PCHExtension" value="gch"/>
<Switch name="UseFlatObjects" value="false"/>
<Switch name="UseFullSourcePaths" value="true"/>
<Switch name="includeDirSeparator" value=" "/>
<Switch name="libDirSeparator" value=" "/>
<Switch name="objectSeparator" value=" "/>
<Switch name="statusSuccess" value="0"/>
<Switch name="Use83Paths" value="false"/>
<Command name="CompileObject" value="$compiler $options $includes -c $file -o $object"/>
<Command name="CompileObject" value="swig -c++ -lua $includes -o $file_dir/$file_name.cpp $file" ext="i" gen="$file_dir/$file_name.cpp"/>
<Command name="CompileObject" value="ragel $file -C -L -o $file.cpp" ext="rl" gen="$file.cpp"/>
<Command name="CompileObject" value="bison -v -d $file -o $file_dir/$file_name.parser.cc" ext="y" gen="$file_dir/$file_name.parser.cc;$file_dir/$file_name.parser.hh"/>
<Command name="CompileObject" value="flex -o$file_dir/$file_name.scanner.cc $file" ext="l" gen="$file_dir/$file_name.scanner.cc"/>
<Command name="CompileObject" value="cython $file" ext="pyx" gen="$file_dir/$file_name.c"/>
<Command name="CompileObject" value="lzz $includes $file" ext="lzz" gen="$file_dir/$file_name.cpp;$file_dir/$file_name.h"/>
<Command name="GenDependencies" value="$compiler -MM $options -MF $dep_object -MT $object $includes $file"/>
<Command name="CompileResource" value="$rescomp $res_includes $res_options -J rc -O coff -i $file -o $resource_output"/>
<Command name="LinkExe" value="$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs"/>
<Command name="LinkConsoleExe" value="$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs"/>
<Command name="LinkDynamic" value="$linker -shared $libdirs $link_objects $link_resobjects -o $exe_output $link_options $libs"/>
<Command name="LinkStatic" value="rm -f $static_output
$lib_linker -r -s $static_output $link_objects"/>
<Command name="LinkNative" value="$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs"/>
<RegEx name="Fatal error" type="error" msg="1">
<![CDATA[FATAL:[ \t]*(.*)]]>
</RegEx>
<RegEx name="'In function...' info" type="info" msg="2" file="1">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):[ \t]+([iI]n ([cC]lass|[cC]onstructor|[dD]estructor|[fF]unction|[mM]ember [fF]unction).*)]]>
</RegEx>
<RegEx name="'Skipping N instantiation contexts' info (2)" type="info" msg="3" file="1" line="2">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]+(\[[ \t]+[Ss]kipping [0-9]+ instantiation contexts[ \t]+\])]]>
</RegEx>
<RegEx name="'Skipping N instantiation contexts' info" type="info" msg="3" file="1" line="2">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t]+(\[[ \t]+[Ss]kipping [0-9]+ instantiation contexts[ \t]+\])]]>
</RegEx>
<RegEx name="'In instantiation' warning" type="warning" msg="2" file="1">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):[ \t]+([Ii]n [Ii]nstantiation.*)]]>
</RegEx>
<RegEx name="'Required from' warning" type="warning" msg="3" file="1" line="2">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]+([Rr]equired from.*)]]>
</RegEx>
<RegEx name="'Instantiated from' info (2)" type="info" msg="3" file="1" line="2">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]+([Ii]nstantiated from .*)]]>
</RegEx>
<RegEx name="'Instantiated from' info" type="info" msg="3" file="1" line="2">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t]+([Ii]nstantiated from .*)]]>
</RegEx>
<RegEx name="Resource compiler error" type="error" msg="3" file="1" line="2">
< \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t](.*)]]>
</RegEx>
<RegEx name="Resource compiler error (2)" type="error" msg="1">
<]]>
</RegEx>
<RegEx name="Preprocessor warning" type="warning" msg="4" file="1" line="2">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):([0-9]+):[ \t]([Ww]arning:[ \t].*)]]>
</RegEx>
<RegEx name="Compiler note (2)" type="info" msg="3" file="1" line="2">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]([Nn]ote:[ \t].*)]]>
</RegEx>
<RegEx name="Compiler note" type="info" msg="3" file="1" line="2">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t]([Nn]ote:[ \t].*)]]>
</RegEx>
<RegEx name="General note" type="info" msg="1">
<![CDATA[([Nn]ote:[ \t].*)]]>
</RegEx>
<RegEx name="Preprocessor error" type="error" msg="3" file="1" line="2">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t](.*)]]>
</RegEx>
<RegEx name="Compiler warning (2)" type="warning" msg="3" file="1" line="2">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]([Ww]arning:[ \t].*)]]>
</RegEx>
<RegEx name="Compiler warning" type="warning" msg="3" file="1" line="2">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t]([Ww]arning:[ \t].*)]]>
</RegEx>
<RegEx name="Undefined reference (2)" type="error" msg="3" file="1" line="2">
<![CDATA[[][{}() \t#%$~[:alnum:]&_:+/\.-]+\.o:([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t](undefined reference.*)]]>
</RegEx>
<RegEx name="Compiler error (2)" type="error" msg="3" file="1" line="2">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t](.*)]]>
</RegEx>
<RegEx name="Compiler error" type="error" msg="3" file="1" line="2">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t](.*)]]>
</RegEx>
<RegEx name="Linker warning" type="warning" msg="2" file="1">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):\(\.text\+[0-9a-fA-FxX]+\):[ \t]([Ww]arning:[ \t].*)]]>
</RegEx>
<RegEx name="Linker error" type="error" msg="3" file="1" line="2">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t](.*)]]>
</RegEx>
<RegEx name="Linker error (2)" type="error" msg="2" file="1">
<![CDATA[[][{}() \t#%$~[:alnum:]&_:+/\.-]+\(.text\+[0-9A-Za-z]+\):([ \tA-Za-z0-9_:+/\.-]+):[ \t](.*)]]>
</RegEx>
<RegEx name="Linker error (3)" type="error" msg="2" file="1">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):\(\.text\+[0-9a-fA-FxX]+\):(.*)]]>
</RegEx>
<RegEx name="Linker error (lib not found)" type="error" msg="2" file="1">
<]]>
</RegEx>
<RegEx name="Linker error (cannot open output file)" type="error" msg="2;3" file="1">
<:[ \t](.*)]]>
</RegEx>
<RegEx name="Linker error (unrecognized option)" type="error" msg="2" file="1">
<]]>
</RegEx>
<RegEx name="Compiler error (unrecognized option)" type="error" msg="1">
<]]>
</RegEx>
<RegEx name="No such file or directory" type="error" msg="2" file="1">
<]]>
</RegEx>
<RegEx name="Undefined reference" type="error" msg="2" file="1">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):[ \t](undefined reference.*)]]>
</RegEx>
<RegEx name="General error" type="error" msg="1">
<![CDATA[([Ee]rror:[ \t].*)]]>
</RegEx>
<RegEx name="General warning" type="warning" msg="1">
<![CDATA[([Ww]arning:[ \t].*)]]>
</RegEx>
<RegEx name="Auto-import info" type="info" msg="1">
<![CDATA[([Ii]nfo:[ \t].*)\(auto-import\)]]>
</RegEx>
<RegEx name="Linker warning (different sized sections)" type="warning" msg="2" file="1">
<![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):[ \t]+(duplicate section.*has different size)]]>
</RegEx>
<Sort CFlags="-std=c89 -std=gnu89 -std=c90 -std=gnu90 -std=iso9899:1990 -std=iso9899:1994 -std=c99 -std=gnu99 -std=iso9899:1999 -std=c11 -std=gnu11 -std=iso9899:2011 -std=c17 -std=iso9899:2017"/>
<Sort CPPFlags="-std=c++98 -std=gnu++98 -std=c++03 -std=gnu++03 -std=c++11 -std=gnu++11 -std=c++14 -std=gnu++14 -std=c++17 -std=gnu++17 -std=c++20 -std=gnu++20 -static-libstdc++ -shared-libstdc++ -fpermissive -fdeduce-init-list -fcheck-new -fstrict-enums -Weffc++ -Wctor-dtor-privacy -Wdelete-non-virtual-dtor -Wliteral-suffix -Wc++11-compat -Wnoexcept -Wnon-virtual-dtor -Wreorder -Wstrict-null-sentinel -Wno-non-template-friend -Wnon-template-friend -Wold-style-cast -Woverloaded-virtual -Wno-pmf-conversions -Wsign-promo -fno-rtti -fno-threadsafe-statics"/>
</CodeBlocks_compiler_options>
--- End code ---
stahta01:
This might fix your problem.
Warning: If you have done any customization of the Compiler setting they will be lost.
(This has nothing to do with Project settings that were done.)
Settings -> Compiler
Pull down: "Selected Compiler" select compiler/toolchain that needs fixed
Click on tab "Compiler Flags"
If the flags are missing from here than the problem may be fixed by clicking on "Reset Defaults" by where you selected the compiler.
If the flags are listed here you likely selected the wrong compiler in the CB project.
Tim S.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version