在mac上编译CGAL程序,使用macports安装

时间:2014-06-24 19:48:13

标签: c++ macos linker macports cgal

我正在开发一个需要在mac上运行CGAL的项目,而且我对C ++一般都是新手。我使用命令使用macports安装了CGAL      

sudo port install cgal

安装完成,.h文件放在

/opt/local/include/cgal

我将tutorial program复制到.cpp文件中并使用

进行编译

g++ -lcgal -I/opt/local/include/ vec.cpp

这会返回错误

ld:找不到-lcgal的库 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

g++ -lcgal -v -I/opt/local/include/ vec.cpp

返回

Apple LLVM 5.1版(clang-503.0.40)(基于LLVM 3.4svn) 目标:x86_64-apple-darwin13.2.0 线程模型:posix  “/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang”-cc1 -triple x86_64-apple-macosx10.9.0 -emit-obj -mrelax-all -disable-free -disable- llvm-verifier -main-file-name vec.cpp -mrelocation-model pic -pic-level 2 -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 236.3 -v -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1 -I / opt / local / include -stdlib = libc ++ -fdeprecated-macro - fdebug-compilation-dir / Users / sujeath / C practice -ferror-limit 19 -fmessage-length 80 -stack-protector 1 -mstackrealign -fblocks -fobjc-runtime = macosx-10.9.0 -fencode-extended-block-signature - fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -vectorize-slp -o /var/folders/tm/bgg4k0xs4v36pzwxvsrqtsb00000gn/T/vec-0a56fb.o -x c ++ vec.cpp clang -cc1版本5.1基于LLVM 3.4svn默认目标x86_64-apple-darwin13.2.0 忽略不存在的目录“/ usr / include / c ++ / v1” \ #include“...”搜索从这里开始:       \ #include搜索从这里开始:  /选择/本地/包括  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1  在/ usr /本地/包括  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include  / usr / include目录  / System / Library / Frameworks(框架目录)  / Library / Frameworks(框架目录) 搜索结果列表结束。  “/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld”-demangle -dynamic -arch x86_64 -macosx_version_min 10.9.0 -o a.out / var / folders / tm / bgg4k0xs4v36pzwxvsrqtsb00000gn / T / vec-0a56fb.o -lcgal -lc ++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/lib/darwin/libclang_rt.osx 。一个 ld:找不到-lcgal的库 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

我正在使用Mavericks BTW和gnu gcc

谢谢!

1 个答案:

答案 0 :(得分:0)

所以,首先,我是stackoverflow的新手,实际上更愿意添加评论而不是发布答案,因为我对C ++ / Mac世界也很陌生。

陈述此免责声明我想指出我看到“解析”您发布的输出的两件事:

  1. 您正在调用g++,但是,您正在使用clang进行编译(默认情况下为OS X Mavericks),/usr/bin/g++指向/usr/bin/clang++
  2. 我认为cgal库不在你的搜索路径上。 Marc Glisse向您指出-L命令的ld选项,它允许您定义更多搜索目录。可能-L/opt/local/lib可能适合你使用Macports(我很长时间没有使用Macports所以我不确定这是否是库的正确路径。)
  3. 希望这有帮助。