2

Objective-C++ プログラムで OpenMP を使用しようとしています。
残念ながら、llvm-gcc 4.2 には、OpenMP を使用する場合に重大なバグがあるようです。私の調査によると、最良の解決策は代わりに gcc 4.8 を使用することです。

gcc 4.8 のビルド済みバージョンを既にダウンロードしています。私の質問は、Xcode からビルド設定で直接選択できるように、新しいコンパイラを Xcode と統合するにはどうすればよいですか?
あるいは、プロジェクトを gcc4.8 でコンパイルできる簡単な方法はありますか? さまざまなファイルと .xib がありますが、それらすべてを手動でコンパイルしたくありません。

私は MacOS 10.8.3 と Xcode 4.5.1 を使用しています (手順はすべての Xcode 4.x で同じはずですが)。

4

2 に答える 2

1

GCC 4.8 を Xcode 4.5、Xcode 4.6、Xcode 5.0 にインストールします。

GCC 4.8 をインストールしていない場合:

home-brew の新しいバージョンをインストールする

インターネットでインストール方法を見つけることができます

Brew を最新バージョンに更新します ( $brew update)

1.$brew install gcc48 --enable-all-languages

(mpc、mpfr、gmp を brew でインストールする必要があるかもしれません。http://solarianprogrammer.com/2013/06/11/compiling-gcc-mac-os-x/ )

2.$brew link gcc48

3. g++、gpp、c++、cpp、c++ のバックアップ/usr/bin/

4.[オプションの手順]:

別名 g++-4.8、gpp-4.8、c++-4.8、cpp-4.8、c++-4.8

から/usr/local/Cellar/gcc48/4.8.2/bin/g++

/usr/bin/

[gcc をインストールしていない開発者向けの上記 4 つの手順]

5.プラグインを作る

1) Xcode 用の GCC 4.5 のプラグインをダウンロード します。

2)「4.5」を「4.8」、「4_5」を「4_8」ごとに変更し、ファイル名、ファイル内容、

ファイル内の「com.apple.compilers.gcc.headers.4_2」を除きますGCC 4.5.xcspec

コンテンツをEnglish.lproj変更せずに残し、削除することができますJapanese.lproj

3) ファイル内GCC 4.8.xcspec

GCC 4.5.xcspec(既に のファイル名をに変更していることを願っていますGCC 4.8.xcspec)

変化するExecPath = "...”;

ExecPath = "/usr/local/bin/gcc-4.8"

またはExecPath = "/usr/local/Cellar/gcc48/4.8.2/bin/gcc-4.8"(gcc-4.8をbrewでインストールする人向け)

またはExecPath = "/usr/bin/gcc"(ステップ 4 を完了した人向け)。

4)ファイル内の「-Wshorten-64-to-32」部分を削除GCC 4.8.xcspec

{
    Name = "GCC_WARN_64_TO_32_BIT_CONVERSION";
    Type = Boolean;
    DefaultValue = NO;
    CommandLineArgs = {
        YES = (
            "-Wshorten-64-to-32",
        );
        NO = ();
    };
    AppearsAfter = "GCC_WARN_PROTOTYPE_CONVERSION";
    Category = Warnings;
    CommonOption = NO;
    DisplayName = "Implicit Conversion to 32 Bit Type";
    Description = "Warn if a value is implicitly converted from a 64 bit type to a 32 bit type.
    [GCC_WARN_64_TO_32_BIT_CONVERSION, -Wshorten-64-to-32]";
}

6.編集したものGCC 4.8.xcpluginを入れる

/Applications/Xcode.app/Contents/Plugins/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/

7.Xcodeを再度開きます。

これで、新しいプラグインがすでに準備されています。プロジェクトの「ビルド設定」の「C/C++/Objective-C 用コンパイラ」で、新しい GCC コンパイラ プラグインを確認できます。

8.Xcode プロジェクトのビルド設定の変更

1)Xcodeの設定projecttarget

「C/C++/Objective-C 用コンパイラ」を「GCC 4.8」に変更

2)project設定で

「CLANG_CXX_LIBRARY」行を削除

于 2013-10-18T05:54:07.533 に答える
1

Xcode のプロジェクトで、プロジェクト (ファイルのルート、青いアイコン) を選択します。開いたビューでプロジェクトを再度選択し、[ビルド設定] タブを選択します。

ここで、「Compiler for C/C++/Objective-C」というエントリを検索します (テーブル ビューの上に検索ボックスがあります)。値を編集し、ダウンロードした gcc へのカスタム パスを (「その他…」を選択して) 設定します。

于 2013-04-27T10:54:02.540 に答える