How to add a library include path for NetBeans and gcc on Windows?

35,679

For example, you want to add the directories in C:\Program Files (x86)\Example\1.0\include\ as the include paths.

First, set up code assistance:

  • NetBeans > Tools > Options > C/C++ > Code Assistance
    • C Compiler > Include Directories:
      • C:\Program Files (x86)\Example\1.0\include\shared
      • C:\Program Files (x86)\Example\1.0\include\other
      • C:\Program Files (x86)\Example\1.0\include
      • C:\MinGW\lib\gcc\mingw32\4.7.0\include
      • C:\MinGW\include
      • C:\MinGW\lib\gcc\mingw32\4.7.0\include-fixed
      • ...
    • C++ Compiler > Include Directories:
      • C:\Program Files (x86)\Example\1.0\include\shared
      • C:\Program Files (x86)\Example\1.0\include\other
      • C:\Program Files (x86)\Example\1.0\include
      • C:\MinGW\lib\gcc\mingw32\4.7.0\include\c++
      • C:\MinGW\lib\gcc\mingw32\4.7.0\include\c++\mingw32
      • C:\MinGW\lib\gcc\mingw32\4.7.0\include\c++\backward
      • C:\MinGW\lib\gcc\mingw32\4.7.0\include
      • C:\MinGW\include
      • C:\MinGW\lib\gcc\mingw32\4.7.0\include-fixed
      • ...
    • OK.

The C:\MinGW\... directories are examples only. Do not actually add them. NetBeans should have detected and added the MinGW directories automatically. If not, try resetting the settings:

  • NetBeans > Tools > Options > C/C++
    • Code Assistance
      • C Compiler > Reset Settings
      • C++ Compiler > Reset Settings
    • Build Tools
      • Restore Defaults

For instructions on automatic code assistance for existing sources, see:


Now, configure the project options:

  • Right click on project > Properties
    • Configuration: <All Configurations>
    • Build
      • C Compiler
        • General
          • Include Directories:
            • C:\Program Files (x86)\Example\1.0\include\shared
            • C:\Program Files (x86)\Example\1.0\include\other
            • C:\Program Files (x86)\Example\1.0\include
        • Compilation Line
          • Additional Options:
            • -std=c11 -g3 -pedantic -Wall -Wextra -O0
      • C++ Compiler
        • General
          • Include Directories:
            • C:\Program Files (x86)\Example\1.0\include\shared
            • C:\Program Files (x86)\Example\1.0\include\other
            • C:\Program Files (x86)\Example\1.0\include
        • Compilation Line
          • Additional Options:
            • -std=c++11 -g3 -pedantic -Wall -Wextra -O0
    • OK.

For adding command-line options by default for all projects, see:

Any spaces in the path should be automatically escaped. Any backward slashes should be replaced with forward slashes automatically.

For example, the "All options" textbox in "Additional Options" looks like this:

-std=c11 -g3 -pedantic -Wall -Wextra -O0 -g -I/C/Program\ Files\ \(x86\)/Example/1.0/include/shared -I/C/Program\ Files\ \(x86\)/Example/1.0/include/other -I/C/Program\ Files\ \(x86\)/Example/1.0/include

If this does not work, you may have to fix the path and add the includes manually in the additional options. For example, replace /C/ with C:/.

-std=c11 -g3 -pedantic -Wall -Wextra -O0 -g -IC:/Program\ Files\ \(x86\)/Example/1.0/include/shared -IC:/Program\ Files\ \(x86\)/Example/1.0/include/other -IC:/Program\ Files\ \(x86\)/Example/1.0/include

If you are using Cygwin make and if you try to clean or rebuild the project with colons in the command, you may get a *** multiple target patterns. Stop. error message. According to the answers from Multiple target patterns? and Very simple application fails with "multiple target patterns" from Eclipse, "make sees the : in the path and thinks it is another target definition, hence the error."

The workaround is to delete the generated build and dist folders every time before you build your project. However, this can be annoying, so you could try MinGW MSYS make instead (not to be confused with MinGW make, which is unsupported).

For MinGW and MSYS configuration instructions, see:

For working with MinGW and Unicode, you should install the latest version of MinGW-w64. See:

Share:
35,679
XP1
Author by

XP1

Updated on July 25, 2022

Comments

  • XP1
    XP1 almost 2 years

    How to add a library include path for NetBeans and gcc on Windows?

    Using:

    • NetBeans 7.1.2
    • MinGW (mingw-get-inst-20120426.exe)
    • gcc 4.7.0