請問xcode和boost - MAC

By Quintina
at 2011-06-17T08:05
at 2011-06-17T08:05
Table of Contents
自己回自己這個問題
希望能幫到像我一樣剛碰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
--
我達達的引擎聲是個美麗的錯誤
我不是歸人
是個台客
--
希望能幫到像我一樣剛碰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
--
我達達的引擎聲是個美麗的錯誤
我不是歸人
是個台客
--
Tags:
MAC
All Comments
Related Posts
電腦辨識不到iPad

By Adele
at 2011-06-17T07:50
at 2011-06-17T07:50
不知道這是不是Xcode4的bug?

By Sierra Rose
at 2011-06-17T02:47
at 2011-06-17T02:47
請問office.mac 2011有沒有專注模式

By Olivia
at 2011-06-17T02:26
at 2011-06-17T02:26
iTunes一直跳出來...

By Odelette
at 2011-06-17T00:53
at 2011-06-17T00:53
MacBook用Win系統同步單槍投影機

By Joseph
at 2011-06-17T00:43
at 2011-06-17T00:43