【发布时间】:2023-03-23 21:08:01
【问题描述】:
我对 mac os x 下的 C/C++ IDE 完全陌生,因此对于 netbeans。我在 max os x 10.10.5 下下载了 C/C++ dmg。
我已经从源代码构建了gcc-6.0.0(开发版),它在命令行上就像一个魅力。我打算将它与 netbeans 一起使用,因此在 netbeans 偏好中,我创建了一个名为“gcc-6.0.0”的新“工具集合”,我从安装 netbeans 后已经可用的两个默认值(称为 GNU 和 clang)中得到启发。我填写如下:
- 基本目录:
/usr/local/GNU/gcc-6.0.0 - C 编译器:
/usr/local/GNU/gcc-6.0.0/bin/gcc-6.0.0 - C++ 编译器:
/usr/local/GNU/gcc-6.0.0/bin/g++-6.0.0 - Fortran 编译器:
/usr/local/GNU/gcc-6.0.0/bin/gfortran-6.0.0 - 汇编器:
/usr/bin/as - 发出命令:
/usr/local/GNU/make-4.1/bin/make-4.1 - 调试器命令:我把它留空了
- QMake 命令:我把它留空了
- CMake 命令:
/usr/local/lvm/cmake-3.3.2/bin/cmake
请注意,我的 gcc 命令(gcc、g++ 和 gfortran 确实有前缀,这不是错误。)由于我从源代码构建了 make 和 Cmake,我也填充了它们各自二进制文件的路径。
请注意,在添加新工具集合窗口中,对于“基本目录”,我输入了:/usr/local/GNU/gcc-6.0.0 并被告知(通过新工具集合窗口底部的红色消息)“没有编译器集合在目录中找到 /usr/local/GNU/gcc-6.0.0'...如果我把/usr/local/GNU/gcc-6.0.0/bin 改为...
最后,我选择了一个欢迎项目模板(为此我选择了新创建的工具集),然后我构建了它,并得到了这个控制台输出:
cd '/Users/XXXXXXX/Documents/Welcome_1'
/usr/bin/make -f Makefile CONF=Debug
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/GNU_1-MacOSX/tmp14
mkdir -p build/Debug/GNU_1-MacOSX
rm -f "build/Debug/GNU_1-MacOSX/welcome.o.d"
g++-6.0.0 -c -g -MMD -MP -MF "build/Debug/GNU_1-MacOSX/welcome.o.d" -o build/Debug/GNU_1-MacOSX/welcome.o welcome.cc
/bin/sh: g++-6.0.0: command not found
make[2]: *** [build/Debug/GNU_1-MacOSX/welcome.o] Error 127
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
BUILD FAILED (exit value 2, total time: 221ms)
当我在命令行上没有类似这样的发布时,/bin/sh: g++-6.0.0: command not found 怎么会出现,并且当我在新的工具集合窗口中给出g++-6.0.0 的路径时?
我怎样才能实现我想要做的事情,即使用我的 gcc-6.0.0 gcc/g++ 编译器和 netbeans ?
提前谢谢!
【问题讨论】:
-
如果您仔细阅读,您提供的输出是通过运行
/usr/bin/make然后/Applications/Xcode.app/Contents/Developer/usr/bin/make然后g++-6.0.0获得的,没有路径。结论:您所做的任何路径设置都无效。将 gcc 的 bin 目录添加到$PATH和/或符号链接可执行文件到已经存在的目录。您可能希望首先使其在终端中工作,然后解决 Netbeans 的怪癖。另见:Compiling GCC 5 on OS X -
g++-6.0.0的目录 (/usr/local/GNU/gcc-6.0.0) 已添加到路径中,因为我总是使用g++-6.0.0命令(使用我自己的 makefile)...通过命令行。将“符号链接可执行文件添加到已经存在的目录”是什么意思?您是否建议我将符号链接添加到项目文件夹中所有需要的命令行可执行文件?因为,如果是这样,这与将编译器命令行可执行文件的所有路径告诉 netbeans 一次的想法完全相反...... -
至于您发布的链接,谢谢,但正如我已经在我的问题上写的那样:“我已经从源代码构建了
gcc-6.0.0(开发版),它在命令行上就像一个魅力” .这不是编译器构建问题。这是一个“netbeans 查找我的编译器的命令行可执行文件”的问题。 -
好的,将
/usr/local/GNU/gcc-6.0.0/bin放在基目录而不是/usr/local/GNU/gcc-6.0.0让我很开心,即使我仍然有“在目录中找不到编译器集”。案件结案。
标签: c++ macos gcc netbeans netbeans-8