4

これが質問するのに適切な場所かどうかはわかりませんが、ここに行きます

インテルの Web サイトのページには、次のように記載されています。

インテル C++ コンパイラー Windows 版は、Microsoft Visual C++ ヘッダー ファイル、ライブラリー、およびリンカーを使用します。Microsoft は、名前空間を定義するヘッダー ファイルを管理しています。この問題に関する Microsoft の C++ 標準への準拠については、Microsoft のテクニカル サポートにお問い合わせください...リンク

ライブラリをVisual Studioによって管理されているものからgccによって提供されているものに変更するためのインテル(またはその他)によるガイドはありますか(私のWindowsマシンでも)。これを行う理由は、Visual Studio のバージョンでサポートされていない新しい C++11 機能の一部を利用するためです (一般的にそうです)。

上記の私の現在の知識が正しくないためにこれが不可能な場合、誰かが私に理由を説明できますか.

ありがとう。

4

1 に答える 1

0

これは実際的な可能性ではありません。

intel コンパイラ (icl) は、 で VC++ バイナリが見つからない場合はうめき声をPATHあげるだけなので、少なくとも VC++ ツールチェーンが必要であることがわかります。

次に、gcc ヘッダーの使用に関する限り、何に直面しているかを確認するには、次のようにします。

  • icl に独自の定義済みマクロを抑制させます。
  • gcc の定義済みマクロを使用するようにします。
  • 標準のインクルード検索を抑制します。
  • gcc の標準インクルード検索を使用するようにします。

これはどれも難しいことではありません。すべてを実行して をビルドしようとすると、エラーは、gcc ヘッダーが icl に認識されていない gcc コンパイラの組み込みキーワード ( 、、など)でHelloWorld.cppいっぱいであることを示します。__builtin_va_list__attribute____cdecl____nothrow__

プリプロセッサ マクロを使用して、これらすべてを正常に削除または再定義しようとする場合があります。または、あきらめるかもしれません。私は後者をお勧めします。

于 2013-04-09T09:47:35.887 に答える