如何在 Windows 上为 NetBeans 和 gcc 添加库包含路径?
Posted
技术标签:
【中文标题】如何在 Windows 上为 NetBeans 和 gcc 添加库包含路径?【英文标题】:How to add a library include path for NetBeans and gcc on Windows? 【发布时间】:2012-07-23 23:13:12 【问题描述】:使用:
NetBeans 7.1.2 MinGW (mingw-get-inst-20120426.exe
)
gcc 4.7.0
【问题讨论】:
【参考方案1】:例如,您想将C:\Program Files (x86)\Example\1.0\include\
中的目录添加为包含路径。
首先,设置代码辅助:
NetBeans > 工具 > 选项 > C/C++ > 代码帮助 C 编译器 > 包含目录: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++ 编译器 > 包含目录:
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 编译器 一般 包括目录: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++ 编译器
一般
包括目录:
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
好的。
要为所有项目默认添加命令行选项,请参阅:
NetBeans settings for GCC路径中的任何空格都应自动转义。任何反斜杠都应自动替换为正斜杠。
例如,“附加选项”中的“所有选项”文本框如下所示:
-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
(不要与 MinGW make
混淆,即 unsupported)。
MinGW和MSYS配置说明见:
为 C/C++/Fortran 配置 NetBeans IDE:
http://netbeans.org/community/releases/68/cpp-setup-instructions.html#mingw
要使用 MinGW 和 Unicode,您应该安装最新版本的 MinGW-w64。见:
wWinmain, Unicode, and Mingw【讨论】:
@JesseGood,-std=c11
怎么样?那么,您还考虑了哪些其他问题?仅仅因为信息存在于其他地方并不意味着它不应该存在于 Stack Overflow 上。我还添加了有关 NetBeans 网站上可能不存在的 make
问题的更多信息。
关于代码辅助,netbeans.org/kb/docs/cnd/quickstart.html 和netbeans.org/kb/docs/cnd/configuring-code-assistance.html 表示可以从现有源自动配置代码辅助。但是,如果我创建一个新的 C 项目,在顶部键入 #include <example.h>
,然后尝试编译,它会显示 fatal error: example.h: No such file or directory
。它不是自动的。它并不神奇地知道example.h
住在哪里。我必须手动配置example.h
的位置。
@JesseGood C:\MinGW\...
目录只是为了展示它在我的计算机上的样子。当然,如果它们已经存在,添加它们将是荒谬的。我已经添加了您对编译器标志的建议。
C:\Program Files (x86)\Example\1.0\include
中的空格应自动转义。从“所有选项”文本框中可以看到:C:/Program\ Files\ \(x86\)/Example/1.0/include
。一些 SDK 和头文件安装在 C:\Program Files (x86)
。
最后评论:看起来好多了(删除了反对票)。此外,仅使用正斜杠 /
开始可能会更好地避免出现问题。希望有人觉得这很有用(我会删除我的旧 cmets,因为它们只是占用空间)。以上是关于如何在 Windows 上为 NetBeans 和 gcc 添加库包含路径?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 上为旧 R 匹配 Rcpp 和 RcppArmadillo 的版本?
如何在 Windows 上为我的操作系统编译和链接 C 和 ASM
如何构建 FLTK 以与 Netbeans (Windows) 一起使用
如何在 Windows64 上为 Python 3.5 安装 pydotplus