如何在Windows上为NetBeans和gcc添加库包含路径?
使用:
- NetBeans 7.1.2
- MinGW (
mingw-get-inst-20120426.exe
) - gcc 4.7.0
C:\Program Files (x86)\Example\1.0\include\
添加为包含路径。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:\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
C:\MinGW\...
目录仅为示例。请不要实际添加它们。NetBeans应该已自动检测并添加了MinGW目录。如果没有,请尝试重置设置:
有关现有源自动代码辅助的说明,请参见:
C/C++ 项目快速入门教程:
http://netbeans.org/kb/docs/cnd/quickstart.html#makefileprojects
如何在从现有代码创建项目时配置代码辅助:
http://netbeans.org/kb/docs/cnd/configuring-code-assistance.html
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
-std=c11 -g3 -pedantic -Wall -Wextra -O0
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
-std=c++11 -g3 -pedantic -Wall -Wextra -O0
如需为所有项目默认添加命令行选项,请参见:
路径中的任何空格都应自动转义。任何反斜杠都应自动替换为正斜杠。
例如,“附加选项”中的“所有选项”文本框如下所示:
-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
/C/
替换为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
如果你使用Cygwin的make
,并且在命令中包含冒号来清理或重建项目,可能会收到*** multiple target patterns. Stop.
错误消息。根据Multiple target patterns?和Very simple application fails with "multiple target patterns" from Eclipse的答案,"make
看到路径中的:
,认为它是另一个目标定义,因此出现了错误。"
解决方法是在每次构建项目之前删除生成的build
和dist
文件夹。但是,这可能很烦人,所以你可以尝试使用MinGW MSYS的make
(不要与unsupported的MinGW make
混淆)。
有关MinGW和MSYS配置说明,请参见:
配置NetBeans IDE以用于C/C++/Fortran:
http://netbeans.org/community/releases/68/cpp-setup-instructions.html#mingw
若要使用MinGW和Unicode,请安装最新版本的MinGW-w64。请参见:
-std=c11
怎么样?那你还想到了哪些其他问题呢?仅仅因为信息在其他地方存在并不意味着它不应该存在于 Stack Overflow 上。我还添加了更多关于make
问题的信息,这些信息可能在 NetBeans 网站上不存在。 - XP1#include <example.h>
并尝试编译,它会显示fatal error: example.h: No such file or directory
。这不是自动的。它不会神奇地知道example.h
的位置。我必须手动配置example.h
的位置。 - XP1C:\MinGW\...
目录只是为了展示在我的电脑上它看起来是什么样子。如果它们已经存在,添加它们当然是荒谬的。我已经采纳了你关于编译器标志的建议。 - XP1C:\Program Files (x86)\Example\1.0\include
中的空格应该自动转义。正如您从“所有选项”文本框中看到的:C:/Program\ Files\ \(x86\)/Example/1.0/include
。一些 SDK 和头文件安装在C:\Program Files (x86)
中。 - XP1