2011-07-13 11 views
1

(まず第一に、本当にありがとうございました。stackoverflowのは、過去に私には非常に参考にされています!)コマンドラインツールは、Xcodeの4にリリースのためのビルドのビルド、実行可能で含む画像とのトラブル

わかりましたので、私はXcodeを通じてC++で書かれたコマンドラインツールで現在作業中です。 私はこのように過去に十数個のプログラムを実行しており、Xcodeの内部または外部にコンパイルするのに問題はありませんでした。通常、私は端末のg ++​​行を手動でコンパイルするだけですが、Xcodeのリリースを時折使用しています。しかし、私はg ++を使っているよりも、Xcodeを通してそれをやっていることは間違いありません。

これはSDLフレームワークを使ってプロジェクトを構築しようとしています。どのような種類のGUIでも私の最初の試みであり、想像以上に難しい方法です。私はプロジェクトをコンパイルして実行可能ファイルのコピーを私の教授に送って進捗状況を見せたいと思っていましたが、どうやってそれを行うのか分かりません。

SDLとCocoaフレームワークも含める必要があるため、g ++で構築することはできません。 (それは非常に間違っているかもしれませんが、もしそうなら、これもオプションです!) Xcodeを使ってビルドすると、それを正常に開いて、ターミナルから外部に実行できます。だから我々は近くにいる。しかし、それは私が使用する画像のいずれかを見つけることができません。 SDLは間違いなく動作し、画像がどこにあるべきかをクリックできますが、それは動作しますが、画像/ blahblah.bmpを開くことはできません。

現在、私のフォルダの階層構造は、このようなものです:

プロジェクトフォルダには、すべての私の.cppファイルのと.hの者だけでなく、画像が含まれている「画像」というタイトルのフォルダが含まれています。私のすべてのC++ファイルでは、例えば、 "images/border.bmp"と呼んでいます。それを動作させるには、自分の作業ディレクトリをこのプロジェクトフォルダに設定しなければならないと思います。だからそれは問題と関係しているかもしれません。私は "作業ディレクトリ"の下で、現在のスキームを通してそれを行いました。

画像フォルダがビルドに含まれていない可能性がありますか?だから私はターゲットに追加しようとしました。 プロジェクト、ターゲット(ナビゲータで自分のプロジェクトをクリックしてアクセスします)で、ソースをコンパイルするためのフォルダを追加しました。ライブラリでバイナリをリンクし、結果のないファイルをコピーしました。私は、それぞれ独立して一緒に試みました。

だから私は非常に小さくて愚かなものを逃していると確信しています。私は前にこのようなことをしたことはありません。何とか学ばなければならない?しかし、同じ問題を抱えている人をオンラインで見つけることはできませんでした。 (また、私の検索結果の多くはブログですが、現在は中国に滞在していて、多くの人にアクセスできません... ...):

ありがとうございました!うまくいけば私は十分にクリアされている!興味深いことに、私はカスタム作業ディレクトリを無効にして、代わりに標準作業ディレクトリにイメージを置いています(これは、 "Debug"フォルダまたは "Release"フォルダの実行可能ファイルのすぐ隣にあります)。 )、それはまだ動作しません。しかし、Xcodeではまだ動作しています(私は正しく動作していると思います)

答えて

0

Mac版のSDLは、作業ディレクトリをアプリケーションバンドルの親ディレクトリに設定します。オペレーティングシステムがイメージを見つけることができないように、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ファイルを含むいくつかのファイルを削除する必要があります。

次のブログ記事は、Mac OS X上でSDLでの作業のヒントがあります:

SDL Tips for Mac OS X

+0

それが正しい答えとしてこれをマークする私はそう長くかかった申し訳ありません。私はその質問を忘れていた。実際、はい、そうです。 あなたの記事のリンクも非常に便利でした! – NHDaly

関連する問題