7

C ++でxcodeのコマンドラインツールを使用して、ゲーム「ハノイの塔」の単純な数字バージョンを完成させました。borland や visual-c などの PC コンパイラに慣れているので、xcode でビルドされた実行可能製品を添付するだけで、電子メールを介して他のユーザーとゲームを「共有」しようとしました。ただし、プログラムは別の形式 (通常はマシン コードのように聞こえます) で表示されるため、受信者はプログラムを実行できません。

少し大規模な検索を行った後、xcode の IDE 内でプロジェクトをビルドすることの複雑さと、ビルド設定/ターゲットなどのバリエーションを認識しています。

誰でも実行できる自己完結型の C++ 実行可能ファイルを作成する方法を知っている人はいますか? このゲームの STL ライブラリの外には出ません。助けていただければ幸いです。

ありがとう

4

3 に答える 3

5

OS X は Unix に基づいており、プレーン バイナリ ファイル (つまり、ファイル名拡張子なし) を実行可能ファイルとして使用します。特定の「実行可能権限」がある場合、ダブルクリックして実行可能ファイルとして実行したり、コマンド ラインから実行したりできます。ただし、この許可は電子メールで送信することはできません。これはファイル システム自体内のメタデータであり、これはセキュリティの観点から理にかなっています (スパマーが実行可能なウイルスを電子メールで送信するのは望ましくありませんよね?)。したがって、受信者がバイナリを受け取ったら、「hanoi」がバイナリ ファイルの名前であると仮定して、次のコマンド ライン コマンドを実行する必要があります。

chmod +x /path/to/hanoi

すぐにダブルクリックできるアプリケーションとして本当にパッケージ化したい場合は、ネイティブ UI を指定して .app としてパッケージ化し、その .app (実際には .app 拡張子を持つフォルダー) を配置する必要があります。アーカイブで配布します。それがあなたが望んでいたよりも多くの作業である場合は申し訳ありません. お役に立てれば!

于 2010-08-29T19:42:44.313 に答える
0

同じ OS のドット リリース間でアプリケーションを共有することは、Mac では非常に難しいことで知られています (少なくとも、個人的な経験に関する限り)。

最小限の労力でアプリケーションを共有できるようにするには、次のことを把握する必要があります。

  • これはどのようなプロジェクトの種類ですか? 画像などのリソースを使用していますか?
  • 友達が使用している OS のバージョンは? それらが Mac 上にない場合は、運が悪いです (または、OS 用に再コンパイルする必要があります)。
  • Mac を実行している場合は、OS のバージョンが同じであることを確認してください。Leopard で開発し、誰かが SnowLeopard で実行している場合、アプリケーションは単純に失敗する可能性があります。(Mac OS 10.5.4 と 10.5.3 の間でも問題が発生したので、ご注意ください。)
  • 実行しているハードウェアの種類を確認してください。ハードウェア (MacIntel など) のみをビルドしていますか、それともユニバーサル バイナリを作成していますか?
  • すべてのリソースがアプリケーション バンドルにパッケージ化されていることを確認してください。アプリケーションが相対パスのみを使用していることを確認してください。
  • 特別なフォルダーに書き込みを行っていないかどうかを確認します (つまりtemp、必要に応じて、書き込み可能な場所や単語書き込み可能な場所のみを使用してください)。

より詳細な/要点の返信をしたいと思いますが、残念ながら、いくつかの回答を自分で把握する必要があります (取得しているエラーに関するその他の特定の情報はありません)。

于 2010-08-29T19:08:45.450 に答える
0

ダブルクリック可能なアプリではなく、コマンド ライン ツールに満足している場合は、それを圧縮して電子メールに添付するだけで十分です。相手が PowerPC ベースの Mac を使用している可能性がある場合は、必ずユニバーサルをビルドしてください。ああ、展開ターゲットを、受信者が使用している可能性のある最小の OS に設定します。

于 2010-08-29T22:43:37.220 に答える