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

我正在开发一个需要在Mac上运行CGAL的项目,并且通常对C ++来说是非常新的。 我使用命令安装了CGAL

sudo port install cgal

完成安装并将.h文件放入

/opt/local/include/cgal

我将教程程序复制到一个.cpp文件并使用编译

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

这会返回错误

ld:找不到-lcgal clang的库:error:linker命令失败,退出代码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 -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 ++ ve c.cpp clang -cc1版本5.1基于LLVM 3.4svn默认目标x86_64-apple-darwin13.2.0忽略不存在的目录“/ usr / include / c ++ / v1” #include“...”搜索从这里开始: #include搜索从这里开始:/ opt / local / include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/usr/local/include/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 .a ld:库找不到-lcgal clang:错误:链接器命令失败,退出代码1(使用-v查看调用)

我正在使用小牛BTW和gnu gcc

谢谢!


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

声明了这个免责声明我想指出我看到“解析”你发布的输出的两件事情:

  • 你调用g++ ,但是,你使用的是clang来编译(OS X Mavericks上的默认),因为/usr/bin/g++指向/usr/bin/clang++
  • 我认为cgal库不在你的搜索路径上。 Marc Glisse指出你可以使用ld命令的-L选项来定义更多的搜索目录。 可能-L/opt/local/lib可能会为你使用Macports(我没有长时间使用Macports,所以我不确定这是否是这些库的正确路径)。
  • 希望这可以帮助。

    链接地址: http://www.djcxy.com/p/75469.html

    上一篇: Compiling CGAL programs on mac, installed using macports

    下一篇: How to set cabal extra dirs for all packages in a sandbox