2013-06-11 78 views
1

我需要鏈接到xcode 3.2.6中項目中/ root/lib和/ root/include中的.so文件和標頭。 ROOT是CERN的分析框架。鏈接到xCode中的ROOT文件

有一個公用根的配置,將返回所有必要的庫,我可以編譯使用命令行:

CFLAGS = `root-config --cflags` 
GLIBS = `root-config --glibs` 

test : main.cpp main.h 
    g++ $(CFLAGS) $(GLIBS) -g -Wall main.cpp -02 -o test 

程序運行正常,沒有錯誤。不過,我想使用Xcode的整個項目,但不能得到它要麼

答:使用這個工具

B:尋找合適的路徑的.so文件。我在構建設置下的構建變量header_search_paths和library_search_paths中包含/ root/lib和/ root/include。然後,我居然在我需要到other_linker_flags像這樣的文件類型: -llibTree -llibHist -llibRIO -llibCint -llibCore

的Xcode返回消息:

ld: library not found for -llibTree 
collect2: ld returned 1 exit status 
Command /Developer/usr/bin/g++-4.2 failed with exit code 1 

有誰知道怎麼回事? xCode能編譯.so文件嗎?這裏還有其他問題嗎?

回答

3

這與ROOT無關。要鏈接圖書館搜索路徑中名爲libSomething.so的圖書館,您可以使用鏈接標記-lSomething。您想鏈接到例如libTree.so,所以要使用的正確標誌是-lTree,而不是-llibTree,它將查找liblibTree

+0

我的項目鏈接可以反對libCling.so,但會拋出'dyld:Library未加載:@ rpath/libCling.so原因:圖像未找到'任何想法? – rraallvv