インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
このトピックは、Windows* にのみ適用されます。
Visual C++* ランタイム・ライブラリーの中には、エントリーポイントは同じでも、異なる性質を持つライブラリーが複数あります。デフォルトの Visual C++* ライブラリーは、シングルスレッド、非デバッグ、スタティック・ライブラリーである libc.lib です。
使用するインテル® Visual Fortran ライブラリーと Microsoft* Visual C++* ライブラリーは同じ形式でなければなりません。互換性のない形式を次に示します。
シングルスレッド・ライブラリーとマルチスレッド・ライブラリーの混在
スタティック・ライブラリーとダイナミック・リンク・ライブラリーの混在
デバッグ・ライブラリーと非デバッグ・ライブラリーの混在
デフォルトで使用されるインテル® Visual Fortran ライブラリーは、プロジェクトの種類によって異なります。
Fortran プロジェクトの種類 |
デフォルトで使用されるライブラリー |
---|---|
Fortran コンソール |
スタティック、シングルスレッド・ライブラリーの ifcore.lib および libc.lib |
Fortran スタンダード・グラフィックス |
スタティック、マルチスレッド・ライブラリーの ifcoremt.lib および libcmt.lib |
Fortran QuickWin |
スタティック、マルチスレッド・ライブラリーの ifcoremt.lib および libcmt.lib |
Fortran ウィンドウ |
スタティック、マルチスレッド・ライブラリーの ifcoremt.lib および libcmt.lib |
Fortran DLL |
ダイナミック・リンク・ライブラリーの ifcoremd および msvcrt (およびこれらのインポート・ライブラリー) |
純粋な Fortran アプリケーションでは、ライブラリーの形式が一致しない場合があります。一般的な例として、Fortran スタティック・ライブラリーとリンクする Fortran QuickWin アプリケーションが挙げられます。Fortran QuickWin (および Fortran スタンダード・グラフィックス) アプリケーションは、スタティック、マルチスレッド・ライブラリーを使用しなければなりませんが、デフォルトでは、Fortran スタティック・ライブラリーは、スタティック、シングルスレッド・ライブラリーを使用してビルドされます。これにより矛盾が発生するため、Fortran スタティック・ライブラリーと QuickWin アプリケーションは両方とも、スタティック、マルチスレッド・ライブラリーを使用してビルドされている必要があります。
同様に、異なる C/C++ アプリケーションは異なる C ライブラリーにリンクします。デフォルトを変更しないで、異なる種類のアプリケーションを混在させると、矛盾が発生します。デバッグ・ライブラリーには、その基本ファイル名に文字 d が追加されます。
スタティック、マルチスレッド: libcmt.lib および libcmtd.lib
ダイナミック・リンク・ライブラリー: msvcrt および msvcrtd (.lib インポート・ライブラリーおよび .dll)
「Debug」構成を使用する場合、Visual C++* はデバッグ・ライブラリーを選択します。
インテル® Visual Fortran コンパイラーはどの構成でもデバッグ・ライブラリーを選択しませんが、デバッグ・ライブラリーを使用するように要求できます。IDE で異なる形式の Fortran ライブラリーを指定するには、[プロジェクト] > [プロパティ] を選択して、[Fortran] タブから [Libraries (ライブラリー)] カテゴリーを選択し、必要に応じて以下を行います。
スタティック・ライブラリーを指定するには、[Runtime Library (ランタイム・ライブラリー)] からスタティック・ライブラリー (DLL 以外) の適切な形式を選択します (/libs:static を参照)。
ダイナミック・リンク・ライブラリーを指定するには、[Runtime Library (ランタイム・ライブラリー)] から DLL ライブラリーの適切な形式を選択します (/libs:dll を参照)。
デバッグ・ライブラリーを指定するには、[Runtime Library (ランタイム・ライブラリー)] からデバッグ・ライブラリーの適切な形式を選択します (/[no]dbglibs を参照)。デバッグ・ライブラリーを指定し (/dbglibs)、さらに DLL ライブラリーも要求する場合 (/libs:dll)、Fortran DLL のデバッグバージョンが選択されることに注意してください。これらの Fortran DLL ファイルは、C のデバッグ DLL とリンクされています。
[Runtime Library (ランタイム・ライブラリー)] で [QuickWin] ライブラリーまたは [Standard Graphics (スタンダード・グラフィックス)] ライブラリーを選択した場合、マルチスレッド・ライブラリーが暗黙的に要求されます。