2013-03-28 7 views
5

現在、C++ 11の機能を使用したいC++プロジェクトに取り組んでいます。このプロジェクトでは、数値理論のために使用されるライブラリNTLを使用しています。 Xcodeには快適な自動補完機能があるため、Xcodeでコードを書き、ライブラリNTLはフラグ「-lntl」で静的にリンクされています。XcodeのC/C++コンパイラとしてのGCC 4.7/4.8

ここで、C++ 11の機能を使いたいと思います。 XcodeにデフォルトであるアップルのLLVMコンパイラにはこのようなサポートが含まれていますが、NTLとiostreamでコンパイルすると、XcodeのLLVM GCC 4.2コンパイラと違って動作しません。

したがって、私はLLVM GCC 4.2コンパイラを使用しますが、C++ 11のサポートは含まれていません。したがって、私はgcc48をbrew'dし、gcc4.8でXcodeのコードをコンパイルするようにしたいと考えています。

どうすればいいですか?

--EDIT--
++ stdlibcする++のlibcから(GNUのlibC++)を変更することをお勧め、それはクランでコンパイルされていないNTLの問題を解決したすべてのコメントのおかげで解決しました。

+0

どのようにNTLをインストールしましたか?あなたはclangを使ってそれを再コンパイルしようとしましたか? – Xymostech

+0

いいえ、あなたはNTLと正しくプロジェクトをコンパイルしなかった問題を解決するはずです。 – Edgepo1nt

+1

Xymostechはそうです、gcc48をXCodeに統合するのではなく、コンパイルエラーを解決しようとするべきだと思います。質問にコンパイルエラーを含めるといいでしょう。 – cody

答えて

1

C++実行時ライブラリには、gccのlibstdc++とclangのlibc++の2つの異なる実装があり、互換性がありません。

libc++からlibstdc++に変更してください。

関連する問題