2011-10-29 112 views
1

我最近下載了Xcode 4,現在我的兩個項目在開始給我錯誤之前工作得很好。這兩個錯誤都與鏈接選項有效,但我無法弄清楚如何更改這些選項並擺脫錯誤。用Xcode 4掙扎

第一個問題是使用SDL_ttf和SDL_image框架以C++編寫的項目。該項目建立正確的,但是當我嘗試運行,它給我的控制檯上以下警告:

警告:無法讀取@executable_path /../框架/ SDL_ttf.framework /版本符號/ A/SDL_ttf(找不到文件)。 警告:無法讀取「SDL_ttf」中的符號(尚未映射到內存中)。 警告:無法讀取@executable_path /../ Frameworks/SDL_image.framework/Versions/A/SDL_image的符號(未找到文件)。 警告:無法讀取「SDL_image」中的符號(尚未映射到內存中)。

由於尚未找到的文件,可執行文件無法加載任何圖像使其退出馬上當我嘗試加載圖像。我認爲這裏的問題是框架不在可執行文件的目錄中,它們在/Library/Framework/之前在Xcode 3.2中正常工作。我該如何解決這個問題?

編譯我爲iOS編寫的應用程序時出現第二個問題。除了給我一大堆關於iOS 5中,我將處理後depracated代碼的警告,它沒有建立,由於我不知道如何解決鏈接錯誤,它說:

LD:庫找不到-lz.1.2.3 命令/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang退出碼失敗1

回答

1

我可以回答第二個問題。

-lz.1.2.3 

應該

-lz 

你可能不小心添加了zlib.1.2.3.dylib到項目的「鏈接二進制與圖書館」建設階段。您應該使用沒有任何版本的標準zlib文件,或者只需在生成設置下將-lz添加到其他鏈接標記,而不是在「鏈接二進制文件庫」構建階段添加zlib。

至於缺少的框架,我最好的猜測是它與相對路徑有關,即如果你可以擺脫/../部分,而是提供一個可以解決問題的絕對路徑。

+0

謝謝!你告訴我做什麼完美地解決了第二個問題! – Arthur

+0

關於第一個問題,是的,這正是我認爲我需要做的,我只是不知道如何改變這一點,我不知道在哪裏可以改變路徑。在構建設置中,框架和標題搜索路徑都是絕對路徑,我不知道我的項目中可能設置爲通過相對路徑搜索的其他位置,如果我知道我可以修復它,任何想法? – Arthur

+0

關於你的第一個問題,我遇到了同樣的事情發生在我身上。我不知道爲什麼這會解決它,而不是將/ Library/Frameworks中的SDL_ttf.framework設置爲/ Users/eml/Library/Frameworks(your-home-folder/Library/Frameworks)。 –