Mac上的C 库不使用G my_program.cpp -o my_program编译

C++ libraries on mac not compiling with g++ my_program.cpp -o my_program

本文关键字:my program cpp 编译 上的 Mac      更新时间:2023-10-16

我最近尝试下载(使用Homebrew)eigen(a c 库),并在Eigen的网站上编译示例程序https://eigen.tuxfamily.org/dox/dox/gettingstarted.html。

我在终端中有一个错误:

EigenExample1.cpp:10:10: fatal error: 'Eigen/Dense' file not found #include < Eigen/Dense >

我已经进行了双检查,以确保更新了自制酿造,并且/usr/local/include中确实存在EIGEN3文件夹。此外,我确实安装了命令行工具,并且cpp -v返回:

Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.12.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -E -disable-free -disable-llvm-verifier -discard-value-names -main-file-name - -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu penryn -target-linker-version 274.2 -v -dwarf-column-info -debugger-tuning=lldb -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0 -I /usr/include -fdebug-compilation-dir /Users/name/MNISTNeuralNetwork/Eigen -ferror-limit 19 -fmessage-length 80 -stack-protector 1 -fblocks -fobjc-runtime=macosx-10.12.0 -fencode-extended-block-signature -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -traditional-cpp -o - -x c -
clang -cc1 version 8.0.0 (clang-800.0.42.1) default target x86_64-apple-darwin16.3.0
ignoring duplicate directory "/usr/include"
  as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
 /usr/include
 /System/Library/Frameworks (framework directory)
 /Library/Frameworks (framework directory)
End of search list.

使用Homebrew安装时,Eigen目录将嵌套在include/eigen3中。您应该能够使用以下标志进行编译:

g++ -I "$(brew --prefix eigen)/include/eigen3" my_program.cpp -o my_program

的确,这就是测试自制安装的方式。