このトピックは、Windows* にのみ適用されます。
Visual C++* ランタイム・ライブラリーの中には、エントリーポイントは同じでも、異なる性質を持つライブラリーが複数あります。デフォルトの Visual C++* ライブラリーは、マルチスレッド、非デバッグ、スタティック・ライブラリーである libcmt.lib です。
使用するインテル® Visual Fortran ライブラリーと Microsoft* Visual C++* ライブラリーは同じ形式でなければなりません。互換性のない形式を次に示します。
スタティック・ライブラリーとダイナミック・リンク・ライブラリーの混在
デバッグ・ライブラリーと非デバッグ・ライブラリーの混在
デフォルトで使用されるインテル® Visual Fortran ライブラリーは、プロジェクトの種類によって異なります。
Fortran プロジェクトの種類 |
デフォルトで使用されるライブラリー |
---|---|
Fortran コンソール |
スタティック、マルチスレッド・ライブラリーの libifcoremt.lib および libcmt |
Fortran スタンダード・グラフィックス |
スタティック、マルチスレッド・ライブラリーの libifcoremt.lib および libcmt.lib |
Fortran QuickWin |
スタティック、マルチスレッド・ライブラリーの libifcoremt.lib および libcmt.lib |
Fortran ウィンドウ |
スタティック、マルチスレッド・ライブラリーの libifcoremt.lib および libcmt.lib |
Fortran DLL |
ダイナミック・リンク・ライブラリーの libfcoremd および msvcrt (およびこれらのインポート・ライブラリー) |
純粋な Fortran アプリケーションでは、ライブラリーの形式が一致しない場合があります。一般的な例として、Fortran スタティック・ライブラリーとリンクする Fortran Windows* アプリケーションが挙げられます。この場合、リンク時の競合やランタイムエラーが発生する可能性があります。これらの問題を回避するには、Fortran ライブラリーをダイナミック・ライブラリーとしてリビルドする必要があります。
同様に、異なる 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] ライブラリーを選択した場合、マルチスレッド・ライブラリーが暗黙的に要求されます。