2011-07-13 16 views
1

(首先,非常感謝。#2一直對我很有幫助過去!)命令行工具在Xcode 4建立上映,其中包括在構建可執行映像麻煩

好了,所以我目前正在使用Xcode編寫用C++編寫的命令行工具。 我已經做了十幾個這樣的程序,並沒有問題編譯它們內部或外部的Xcode。通常,我只是使用終端的g ++行手動編譯,但偶爾會使用Xcode的版本。然而,我對通過Xcode的操作並不熟悉,而不是我在使用g ++的時候。

這就是說,這次我試圖用SDL框架來構建一個項目。這是我第一次嘗試任何形式的GUI,並且比我想象的要困難得多。我希望能夠編譯該項目並將可執行文件的副本發送給我的教授以顯示我的進度,但我無法弄清楚如何執行此操作。

我不認爲有可能通過g ++來構建,因爲我還需要包含SDL和Cocoa框架。 (這可能是錯誤的,如果是這樣,那也是一個選項!) 但是,當我通過Xcode構建時,我可以成功打開它並通過終端在外部運行它。所以我們很接近。但它無法找到我使用的任何圖像。 SDL絕對有效,我可以點擊圖像應該在哪裏(並且它的工作原理),但它只是說它無法打開「images/blahblah.bmp」。

目前我的文件夾層次結構是這樣的:

項目文件夾包含所有我的.cpp的和.h的,以及題爲其中包含了圖像的「圖像」的文件夾。在我所有的C++文件中,例如,我將它們稱爲「images/border.bmp」。爲了實現這個目標,我相信我必須將我的工作目錄設置爲這個項目文件夾。所以這可能與問題有關。我通過目前的計劃在「工作目錄」下做到了這一點。

我認爲圖像文件夾可能沒有包含在構建中?所以我嘗試將它添加到目標。 在項目下,目標(通過在導航器中單擊我的項目進行訪問)我將該文件夾添加到編譯源,鏈接二進制文件和庫文件,但沒有結果。我嘗試了每個獨立以及一起。

所以,我敢肯定我錯過了一些非常小而愚蠢的東西;我以前從未做過這樣的事情。不知何故學習?但我無法在網上找到任何有同樣問題的人。 (也有很多我的搜索結果是博客,但我目前留在中國,無法訪問他們中的很多人...: - /)

非常感謝您的幫助!希望我已經清楚了!

簡要更新: 有趣的是,我關閉了自定義工作目錄,並將圖像放入標準工作目錄中(我確定它只是在「Debug」或「Release」文件夾中的可執行文件旁邊),並且它仍然不起作用。它仍然可以在Xcode中工作(它告訴我我認爲我的工作目錄是正確的)。

回答

0

SDL的Mac版本將工作目錄設置爲應用程序包的父目錄。您沒有創建Mac應用程序包,因此操作系統無法找到圖像。短期的修復是打開文件SDLMain.m並修改setupWorkingDirectory:方法,以便將工作目錄設置爲您的項目文件夾。

長期而且更好的解決方法是創建一個Mac應用程序包。最簡單的方法是使用SDL的Xcode項目模板。SDL項目模板在Xcode 4上不起作用,因此您必須安裝Xcode 3.2,在3.2中創建項目,並在Xcode 4中完成其餘工作。另一種創建Mac應用程序包的方法是創建一個Cocoa應用程序並將SDL框架SDLMain.h和SDLMain.m添加到您的項目中。您還必須刪除一些文件,包括xib文件和main.m文件。

下面的博客文章對與SDL工作在Mac OS X提示:

SDL Tips for Mac OS X

+0

對不起,我花了這麼長時間,以紀念這是正確的答案;我忘記了這個問題。事實上,是的,你是對的。 您的文章鏈接也非常有幫助! – NHDaly