2010-03-21 27 views
0

我試圖在同一個應用程序中使用FMOD和HTTPriot。 FMOD工作正常,直到我添加HTTPriot的鏈接器標誌,在這一點上,我得到了一堆鏈接錯誤,其中FMOD抱怨未定義的符號。換句話說,爲HTTPriot添加鏈接器標誌似乎會中斷FMOD庫的加載。一個庫的鏈接器標誌中斷另一個的加載

這些是在我得到的錯誤,在我構建的鏈接階段所有未來:

Undefined symbols: 
    "_FMOD_Sound_Lock", referenced from: 
     -[FMODEngine recordedSoundAsNSData] in FMODEngine.o 
     -[FMODEngine writeRecordingToDiskWithName:] in FMODEngine.o 
    "_FMOD_MusicSystem_PrepareCue", referenced from: 
     -[FMODEngine addCue:] in FMODEngine.o 

這些鏈接標誌爲HTTPriot: -lhttpriot -lxml2 -ObjC -all_load

我說這些,以及作爲一個通道,每個指令的HTTPriot SDK這裏:http://labratrevenge.com/httpriot/docs/iphone-setup.html

我希望小號omeone可以啓發我爲什麼爲一個庫添加鏈接器標誌可能導致另一個庫加載失敗。如果我沒有這些標誌,HTTPriot和FMOD都可以在模擬器上正常工作,但HTTPriot在設備上有運行時錯誤,我假設它是因爲它的庫沒有鏈接。雖然FMOD在設備上工作正常。

我在我的構建設置中放置了標題搜索路徑和庫搜索路徑,以便XCode找到FMOD。這似乎是好的,直到我嘗試添加這些HTTPriot鏈接器標誌。我也嘗試爲FMOD庫(-lfmodex)添加鏈接器標誌,但是如果沒有它,我會得到相同的錯誤。

+0

解決了這個問題 - 是一個笨蛋錯誤。 – trevrosen 2010-03-22 01:11:59

回答

0

呀 - 爲別人擊中這個問題,在HTTPRiot指令的一部分,它說:

設置其它鏈接器標記,以 -lhttpriot -lxml2 -ObjC -all_load

對此部分非常謹慎。對於我來說這個領域是空的,所以我只需要將「其他鏈接器標誌」設置爲-lhttpriot。

否則就會出現XCode重新導入的東西不會導致重複問題:)

0

這只是意外覆蓋鏈接器標誌設置的問題。錯誤地在XCode中很容易做到。

相關問題