インテル® C++ コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス

makefile の変更

makefile を使用して Microsoft® アプリケーションをビルドする場合、インテル® C++ コンパイラーを使用するように、コンパイラー変数の値を変更する必要があります。 また、CPPFLAGS で指定されたオプションも確認します。 簡単な例を次に示します。

Microsoft® makefile の例

# プログラム名 
  PROGRAM = area.exe 

# ソースファイル名 
  CPPSOURCES = area_main.cpp area_functions.cpp 

# オブジェクト・ファイル名 
  CPPOBJECTS = area_main.obj area_functions.obj 

# Microsoft® コンパイラー・オプション 
  CPPFLAGS = /RTC1 /EHsc 

# Microsoft® C++ コンパイラーを使用する 
  CPP = cl 

# リンク・オブジェクト 
  $(PROGRAM): $(CPPOBJECTS)
     link.exe /out:$@ $(CPPOBJECTS) 

# ビルド・オブジェクト 
  area_main.obj: area_main.cpp area_headers.h 
  area_functions.obj: area_functions.cpp area_headers.h 

# クリーン 
  clean:  del  $(CPPOBJECTS) $(PROGRAM)

インテル® C++ コンパイラー用に変更した makefile

インテル® C++ コンパイラーで nmake を実行する前に、環境変数を設定する必要があります。 この例では、コンパイラー名のみが変更されています。

# プログラム名 
  PROGRAM = area.exe 

# ソースファイル名 
  CPPSOURCES = area_main.cpp area_functions.cpp 

# オブジェクト・ファイル名 
  CPPOBJECTS = area_main.obj area_functions.obj 

# # インテル® C++ コンパイラー・オプション
  CPPFLAGS = /RTC1 /EHsc 

# インテル® C++ コンパイラーを使用する 
  CPP = icl

# リンク・オブジェクト 
  $(PROGRAM): $(CPPOBJECTS)
     link.exe /out:$@ $(CPPOBJECTS) 

# ビルド・オブジェクト 
  area_main.obj: area_main.cpp area_headers.h 
  area_functions.obj: area_functions.cpp area_headers.h 

# クリーン 
  clean:  del  $(CPPOBJECTS) $(PROGRAM)

変更された makefile では、nmake の出力は以下のようになります。

Microsoft ® Program Maintenance Utility Version 8.00.50727.42 
Copyright (C) Microsoft Corporation. All rights reserved.

        icl /RTC1 /EHsc  /c area_main.cpp area_functions.cpp 

IA-32 対応アプリケーション用 インテル® C++ コンパイラー 
Copyright (C) 1985-2006 Intel Corporation. All rights reserved.  

area_main.cpp 
area_functions.cpp
        link.exe /out:area.exe area_main.obj area_functions.obj 

Microsoft ® Incremental Linker Version 8.00.50727.42 
Copyright (C) Microsoft Corporation. All rights reserved.

makefile での IPO の使用

デフォルトでは、IPO はコンパイラーによって使用されるプロシージャー間の情報を含む "仮の" オブジェクト・ファイルを生成します。 これらのオブジェクト・ファイルを使用してスタティック・ライブラリーをリンクまたは作成する場合、特定のインテルにより提供されるツールが必要になります。 これらのツールを makefile で使用するには、"link" を "xilink" に、"lib" を "xilib" に置換します。

# プログラム名 
  PROGRAM = area.exe 

# ソースファイル名 
  CPPSOURCES = area_main.cpp area_functions.cpp 

# オブジェクト・ファイル名 
  CPPOBJECTS = area_main.obj area_functions.obj 

# # インテル® C++ コンパイラー・オプション 
  CPPFLAGS = /RTC1 /EHsc /Qipo

# インテル® C++ コンパイラーを使用する 
  CPP = icl

# オブジェクトをリンクする 
  $(PROGRAM): $(CPPOBJECTS)
     xilink.exe /out:$@ $(CPPOBJECTS) 

# オブジェクトをビルドする 
  area_main.obj: area_main.cpp area_headers.h 
  area_functions.obj: area_functions.cpp area_headers.h 

# クリーン 
  clean:  del  $(CPPOBJECTS) $(PROGRAM)