作者philip (--以上为智障名单)
看板MAC
标题[软体] 请问xcode和boost
时间Thu May 19 01:43:05 2011
小弟xcode刚开始使用中,就遇到了一个问题
请有经验的人帮忙解答,谢谢。
是这样的
我自己装了一套boost 1.46.1 (with MacOS 10.6)
安装方式是
bjam architecture=x86 address-model=64 ..(略)
然後我把include档放在/usr/local/include(自己建立的)
lib放在/usr/local/lib
在xcode里头做了以下几个设定
Architectures->Architectures:64 bit intel
Search Paths->Header Search Paths:/usr/local/include
Search Paths->Library Search Paths:/usr/local/lib
这样的方式在header file only的程式是可以work的
表示header路径正确
但是在需要library的状况却一直出错
(但是我确定library file存在, .a和.dylib都有)
会跳出"Undefined Symbols..."之类的讯息
表示没有link到library
於是我又在Linking->Other Linker Flags里
设定 -lboost_filesystem
这时候就跳出了"Library not found for -lboost_filesystem"
改设定成 -L/usr/local/lib -lboost_filesystem还是有一样的问题
同样的程式使用g++和Makefile直接编译是正常的
Visual Stduio更方便连library名称都不用指定就可以跑
但就是XCode我一直参不透到底哪里设定错误-_-
网路上一些文件也只写到要设定search path而已
32和64 bit我也都试过一样都不行
可以请有经验的人可以分享一下嘛 搞了一个晚上我快疯掉了
BTW
我现在是用把用到的library拖到专案里的方式来跑
可以跑但是感觉很dirty XD
--
我达达的引擎声是个美丽的错误
我不是归人
是个台客
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.110.47
1F:→ uranusjr:用绝对路径呢? 05/19 03:24
2F:→ uranusjr:我发现有个解决方案...MacPorts 有 boost 可以装XD 05/19 03:28
昨天有试过了
MacPorts预设是装在/opt/local/lib
还是一样的问题..冏....
※ 编辑: philip 来自: 220.133.110.47 (05/19 07:57)
3F:推 dryman:要设定DYLD_LIBRARY_PATH吧? 05/19 08:33
4F:推 dryman:另外可以用homebrew来安装boost 05/19 08:41
5F:→ uranusjr:DYLD_LIBRARY_PATH 是执行的时候才要设不是吗, 他现在的 05/19 09:19
6F:→ uranusjr:问题是连 build 都没办法... 05/19 09:19
7F:→ philip:(DY)LD_LIBRARY_PATH好像都是不建议设定的变数 05/20 01:02
8F:→ philip:我是有设定run time path给它就是了 05/20 01:03