0

Intel Visual Fortran ComposerXE2011を使用してMSVisualStudio 2008でFortranプロジェクトをビルドしています。リンカーエラーが発生します:LNK2019未解決の外部シンボル。

objファイルでダンプビンを実行しました。すべてのシンボル(CVF呼び出し規約に基づく)は、接頭辞が付いた3つのランダムなシンボルを除いて、_symbol1、_symbol2、_symbol3などとしてエクスポートされます。

例:_ imp _symbol4、_ imp _symbol5、_ imp _symbol6

最初は、私の呼び出し規約が問題だったのではないかと思っていましたが、それが私の呼び出し規約だったとしたら、他のすべてのシンボルにも、接頭辞がimpが付いた状態でエクスポートされたのではないでしょうか。ランダムなので、そのうちの3つが奇妙にエクスポートされ、何が起こっているのかよくわかりません。どんな助けでもいただければ幸いです。

4

2 に答える 2

0

問題は、本当に必要のないときにそれらのシンボルのDLLエクスポートステートメントがあったためであることがわかりました。次のステートメントを使用してエクスポートしたため、コンパイラは_imp_sybmolを期待していました。

    !DEC$ATTRIBUTES STDCALL:: YOURSYMBOL
!DEC$ATTRIBUTES DLLEXPORT:: YOURSYMBOL

それらを削除したところ、リンカーエラーはなくなりました。

于 2012-11-29T19:36:25.387 に答える
0

これらのシンボルに対応するエンティティには、DLLIMPORT 属性がある場合があります。リンクの手順で、関連するインポート ライブラリが欠落している可能性があります。

于 2012-09-26T21:41:11.387 に答える