7

ARMCortex-m3用の動作するgcc4.3.3ツールチェーンがあり、それをXCodeに統合したいと思います。

組み込みのGCC4.2の代わりにこのgccツールチェーンを使用するようにXCode(3.2)を設定する方法はありますか?

これまでに試したこと:の変更されたコピーを追加しGCC 4.2.xcplugin、名前、バージョン、および実行可能パスを変更しました。XCodeに表示されますが、「C /C++コンパイラバージョン」をカスタムコンパイラに設定すると失敗します。

GCC_VERSIONの値「4.3.3」が無効です

GCC 4.2.xcplugin元のを削除しても値は有効なままであるため、有効なバージョン番号は別の場所にハードコーディングされているよう4.2です(ただし、[C / C ++コンパイラバージョン]ドロップダウンには表示されなくなります)。

4

3 に答える 3

5

参考までに-フラグを含む最新のXcode3.2.4にgcc4.4を統合しました-http://skurganov.blogspot.com/のブログを参照してください

于 2010-10-08T19:43:16.103 に答える
1

私はこれに自分で取り組んでいます。

現在、組み込みのコンパイラ参照仕様を継承する必要があるようです。

次のキーを追加します。

BasedOn = "com.apple.compilers.gcc.4_2";

プラグインを正しくロードします。ただし、アップル固有のコンパイラパッチが原因で無効なフラグの問題があります。私は今その部分に取り組んでいます。

于 2010-04-17T18:55:11.233 に答える
1

コンパイルフェーズが機能するようになりました。これをする:

  1. / Developer / Library / Xcode/Plug-ins内
  2. cp "GCC 4.2.xcplugin" "GCC Arm 4.4.1.xcplugin"
  3. cd "GCC Arm4.4.1.xcplugin"/目次
  4. Info.plistを変更します(厳密には必要ない場合があります)
8c8
--com.apple.xcode.compilers.gcc.arm-4_4_1
---
+ com.apple.xcode.compilers.gcc.4_2
12c12
-GCCArm4.4.1コンパイラXcodeプラグイン
---
+GCC4.2コンパイラXcodeプラグイン
  1. cdリソース
  2. mv "GCC 4.2.xcspec" "GCC Arm 4.4.1.xcspec"
  3. 「GCCArm4.4.1.xcspec」を変更します
10c10
-識別子="com.apple.compilers.gcc.arm-4_4_1";
---
+識別子="com.apple.compilers.gcc.4_2";
13,16c13,16
-名前="GCCArm 4.4.1";
-説明="GNUArm C /C++コンパイラ4.4.1";
-バージョン="arm-4.4.1";
---
+名前="GCC4.2";
+説明="GNUC /C++コンパイラ4.2";
+バージョン="4.2";
39c39
-"com.apple.compilers.gcc.headers.arm_4_4_1"、
---
+ "com.apple.compilers.gcc.headers.4_2"、
42c42
--ExecPath = "$(PLATFORM_DEVELOPER_BIN_DIR)/gcc-arm.4.4.1";
---
+ ExecPath = "$(PLATFORM_DEVELOPER_BIN_DIR)/gcc-4.2";
48,49c48,49
-SupportsZeroLink=いいえ;
-"SupportsPredictiveCompilation"=いいえ;
---
+SupportsZeroLink=はい;
+"SupportsPredictiveCompilation"=はい;
52,53c52,53
-"SupportsMacOSXDeploymentTarget"=いいえ;
-"SupportsMacOSXMinVersionFlag"=いいえ;
---
+"SupportsMacOSXDeploymentTarget"=はい;
+"SupportsMacOSXMinVersionFlag"=はい;
88a89,90
- "-アーチ"、
-「$(値)」、
  1. コンパイラを/Developer/usr/bin/gcc-arm.4.4.1にリンクします

ウィキの再フォーマットのため、上記の差分は正確ではありませんが、関連情報はそこにあります。私が指摘した重要な部分(および上記で間違っているように見えること)は、識別子の変更がバージョン番号の変更に対応している必要があることです(「。」は「_」に置き換えられています)。

-archパラメーターを取り除くことは、コンパイルでは機能しますが、リンクでは機能しません。私のgccはこのパラメータを受け入れないので、現時点ではリンクできません。これを修正する別の方法が見つからない限り、おそらくgcc実行可能ファイルの代わりにスクリプトを挿入してこのオプションをヤンクアウトします。

于 2010-05-20T16:05:34.730 に答える