作者philip (--以上为智障名单)
看板MAC
标题Re: [软体] 请问xcode和boost
时间Fri Jun 17 08:05:14 2011
自己回自己这个问题
希望能帮到像我一样刚碰xcode不久的人
原来xcode4有提供一个界面来管理呼叫的library
学艺不精啊....
边做边摸还蛮累的
图:
http://min.us/mly8Jx7fHcx00
0. 先设定Header file search path
1. 点选Project Navigator
2. 点选要设定的Project
3. 在中间的视窗点选TARGETS底下想要设定的targets
4. 选择Link Binary With Libraries
按+之後系统会自动帮你找出所有的dylib档和framework档让你选择
选完之後可以针对每个library设定为optional 或是 requirement
不确定会用到哪些的话我想一次拉一堆都设成optional也是不错的选择
5. 搞定
不过我好奇的是
那library search path是干嘛用的
设了它又找不到
用选单去选也不需要去设定 XDD
※ 引述《philip (--以上为智障名单)》之铭言:
: 小弟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: 118.166.51.220