3

Xcode 4.4.1 で C プログラムを書いています。新しいプロジェクトは、明らかに私のメイン ファイルである main.c ファイルから始まります。別のプログラムを書きたい場合はどうすればよいですか? File>New File を選択すると、Xcode は main.c の隣に新しい .c ファイルを作成します。問題は、その新しいファイルにコードを配置して実行しようとすると、リンクに関係するビルド エラーが発生することです。私はいつでも program2 からコードを取得し、それを main.c ファイルの新しいプロジェクトに貼り付けることができますが、それは機能しますが、組織の目的 (大学の仕事) のために、同じプロジェクトに複数のファイルを配置することをお勧めします。独立してコンパイルおよび実行できます。私は Xcode に非常に慣れていないので、私が間違っている/理解していないことを尋ねます。

投稿したい写真がありますが、このアカウントを登録したばかりで投稿できません。前もって感謝します!

4

2 に答える 2

2

単一の Xcode プロジェクトを使用できますが、そのプロジェクトで複数のターゲットを作成できます。

2 番目のターゲットを追加するには、下の画像に示すように [ターゲットの追加] ボタンをクリックします。

ここに画像の説明を入力

[新しいプロジェクト] ウィンドウで最初に行ったように、下の画像のように C ベースのコマンド ライン ツールのターゲットを追加します。

ここに画像の説明を入力

これにより、新しく追加されたターゲットの main.c ファイルを保持する別のフォルダーがプロジェクト フォルダー内に作成されます。新しいターゲットは、他のターゲットからmain.cのファイルではなく、新しく作成されたファイルのみをビルドする「ソースのコンパイル」ビルド フェーズでセットアップされるため、以前に発生していたビルド エラーが軽減されます。main.c

ここに画像の説明を入力

どのターゲットを操作するかを制御するには、ツールバーのスキーム ポップアップ メニューから適切な名前のスキームを選択します。

于 2012-09-27T04:06:23.060 に答える
1

リンクに関係するビルド エラーが発生します。

推測させてください:あなたの他のファイルにはmain関数が含まれています。プロジェクトに複数のmain関数を含めることはできません (実際、すべての非静的関数には一意の名前が必要です)。はファイルに存在する必要mainはありませんが、 が 1 つだけ存在する必要があります。main.cmain

1 つの解決策は、実行するファイル以外の他のファイルの関数の名前を別の名前に変更することです ( main2main3など)。これにより、リンカーが文句を言うのを防ぎます。

ただし、この方法ではエラーが発生しやすくなります。標準的なアプローチは、複数のプロジェクト (作成するプログラムごとに 1 つ) を使用することです。便宜上、それらを同じ Xcode ワークスペースに保持できますが、それぞれに個別のターゲットと独自のmain.cファイルが必要です。

于 2012-09-27T03:10:35.680 に答える