When I click on project properties I can set Warning level
(More Warnings
) and Command Line -> Additional Options
(-std=c99
). But I want that all my C project have that kind of options by default without manually setting them everytime I create new project.
NetBeans C/C support lets you create C and C Application and Library projects with generated makefiles, as well as C and C++ projects with existing sources. You can build, run, and debug your project on the local host (the system from which you started the IDE) or on a remote host running a UNIX® operating system.
Unlike Eclipse (which uses its own Eclipse Java Compiler), Netbeans actually uses the internal API of javac for compiling, syntax highlighting, and error detection.
Install the C/C++ plugin in NetBeans. In NetBeans, go to Tools → Plugins. Then in Available Plugins, in the C/C++ category, check the box for C/C++, then click Install to start the installation.
For each project, the configuration properties are saved in the \nbproject\configurations.xml
(%UserProfile%\Documents\NetBeansProjects\ProjectName\nbproject\configurations.xml
) file.
You could share the configurations.xml
file between projects so that you won't have to change and apply every setting.
You could create a default project and configure it however you like. Instead of creating a new project, you could copy it, and name it something else.
If you want the toolchain properties to apply to every project, you will need to manually modify your toolchain definition or create a new one.
Generate shadow copies of the tool collection descriptors:
%ProgramFiles%\NetBeans x\etc\netbeans.conf
:
%ProgramFiles%\NetBeans x\
.etc
folder > Properties > Security > Edit... > Under "Group and user names", select the "Users" group > Under "Permissions for Users", for "Full control", enable "Allow" > OK > OK.Open %ProgramFiles%\NetBeans x\etc\netbeans.conf
in a text editor that can handle the newlines.
On the line starting with netbeans_default_options
, add -J-Dcnd.toolchain.personality.create_shadow=true
to the string of values.
For example, the line may now look like:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true -J-Dcnd.toolchain.personality.create_shadow=true"
toolchain.properties
file in %Appdata%\NetBeans\x\config\Preferences\org\netbeans\modules\cnd\
. In toolchain.properties
, remove the line toolchain_shadow=true
, and save.
netbeans_default_options
, remove -J-Dcnd.toolchain.personality.create_shadow=true
from the string of values. In other words, undo the edit to restore the file back to its original state.Modify or create the toolchain definition:
%Appdata%\NetBeans\x\config\CND\ToolChain\
(7.2+) or %UserProfile%\.netbeans\x\config\CND\ToolChain\
(7.1.2-).MinGW.xml
.Within the c
element, there is a development_mode
element containing the different development mode option elements. You can modify the flags for a particular development mode by modifying the flags
attribute.
For example, when you add the -std=c11 -g3 -pedantic -Wall -Wextra -O0
flags, the attributes may look like this:
<development_mode>
<fast_build flags="-std=c11 -g3 -pedantic -Wall -Wextra -O0"/>
<debug default="true" flags="-std=c11 -g3 -pedantic -Wall -Wextra -O0 -g"/>
<performance_debug flags="-std=c11 -g3 -pedantic -Wall -Wextra -O0 -g -O"/>
<test_coverage flags="-std=c11 -g3 -pedantic -Wall -Wextra -O0 -g"/>
<diagnosable_release flags="-std=c11 -g3 -pedantic -Wall -Wextra -O0 -g -O2"/>
<release flags="-std=c11 -g3 -pedantic -Wall -Wextra -O0 -O2"/>
<performance_release flags="-std=c11 -g3 -pedantic -Wall -Wextra -O0 -O3"/>
</development_mode>
Within the cpp
element, there is a development_mode
element containing the different development mode option elements. You can modify the flags for a particular development mode by modifying the flags
attribute.
For example, when you add the -std=c++11 -g3 -pedantic -Wall -Wextra -O0
flags, the attributes may look like this:
<development_mode>
<fast_build flags="-std=c++11 -g3 -pedantic -Wall -Wextra -O0"/>
<debug default="true" flags="-std=c++11 -g3 -pedantic -Wall -Wextra -O0 -g"/>
<performance_debug flags="-std=c++11 -g3 -pedantic -Wall -Wextra -O0 -g -O"/>
<test_coverage flags="-std=c++11 -g3 -pedantic -Wall -Wextra -O0 -g"/>
<diagnosable_release flags="-std=c++11 -g3 -pedantic -Wall -Wextra -O0 -g -O2"/>
<release flags="-std=c++11 -g3 -pedantic -Wall -Wextra -O0 -O2"/>
<performance_release flags="-std=c++11 -g3 -pedantic -Wall -Wextra -O0 -O3"/>
</development_mode>
For finding the netbeans.conf
configuration file on different platforms, see:
How do I make my custom startup parameters permanent?
http://wiki.netbeans.org/FaqNetbeansConf
For finding the user directories on different platforms, see:
What is a userdir and where can I find it? What is a cachedir and where can I find it?
http://wiki.netbeans.org/FaqWhatIsUserdir
For information on tool collection descriptors, see:
Using the C/C++ Tool Collection Descriptor - NetBeans IDE 6.9 Tutorial:
http://netbeans.org/kb/69/cnd/toolchain.html
First download and install Code::Blocks IDE from Code::Blocks IDE Downlowd and MSYS 1.0.11
All setting will automatically configured, but you have to select "make" command from
C:\msys\1.0\bin\make.exe
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With