0

Compaq Visual Fortran でコンパイルすると、ワークスペースに追加したはずの .lib ファイルにあるはずのエラー (リンカー プロセスの開始時) が表示されます。

X30XFULL.OBJ : error LNK2001: unresolved external symbol _BCON@4
X30XFULL.OBJ : error LNK2001: unresolved external symbol _RCON@16

私がググった場所によると、Compaq Visual Fortran (バージョン 6、FYI) はライブラリ ファイルを見つけることができないようです...

私の主な質問は、それらをどのように使用するのですか? 他に見つからないファイルがある可能性はありますか? これが私が試したことです:

  • 右クリック -> FileView ウィンドウでファイルを追加
  • [プロジェクト] -> [設定] の下に移動し、[リンク] タブをクリックし、入力カテゴリの下で、オブジェクト/ライブラリ モジュール (bprop.lib rprop.lib) の下にライブラリ ファイルを追加し、追加のライブラリ パスがファイルの場所を指すようにします。また、[リソース] タブの下でこれを行い、[追加のリソース インクルード ディレクトリ] と表示されている場所に、これらのファイルが配置されているディレクトリを配置しました。
  • 私のベースをカバーするために、これらのファイルを、コンパイルされた実行可能ファイルが生成されるプロジェクトワークスペースファイルの場所、およびこれらのファイルを見つけるために CVF が検索する可能性があると私が考えることができるほとんどすべての場所に配置しました。

少し背景:

90 年代に最後にコンパイルされたこの Fortran 実行可能ファイルがあります。私の調査によると、これは 16 ビットでコンパイルされたものであり、64 ビット マシンでは動作しません。

元のコードには、少なくとも収集できる限り、16 ビットのコンパイル済みライブラリが含まれています。元のコンパイラがなければ、それらの見方や使い方がわかりません。また、実際には .FOR ファイルである (半) 同等のライブラリ ファイルもあります。私たちが知っている限りでは、BPROP.FOR と BPROP.LIB は同じファイルである可能性があります (これらは同じソース コード領域で見つかりました)。BPROP.FOR ファイルを使用する場合、プログラムはコンパイルできますが、そのファイルで使用/収集/処理された情報まで追跡した結果に問題があります。

ただし、32 ビット版 (私たちの考えでは) は同じ .lib ファイルです。そのため、それを使用しようとしています。これは、上記のエラーが発生する Fortran 実行可能ファイルをコンパイルするために使用されているものです。

4

1 に答える 1

0

少なくとも私にとっては、答えが見つかりました。他の誰かがこれらの答えを見つけた場合、推定するのがどれほど簡単かはわかりませんが、これが私が解決した方法です.

古い Fortran ライブラリでは、さまざまな Fortran ファイル (.FOR など) をすべて含む FileList ビューにライブラリを追加するだけで済みました。前述のようにこれらのライブラリを設定に追加する必要はありませんでしたが、それも同様に機能します。それ以外は、余分な宣言などを追加する必要はありませんでした。

わかったことは、これらの .LIB ファイルを呼び出す問題の関数 (BCON および RCON) には追加の引数が必要であるということです。これを見つける唯一の方法は、それらのライブラリを使用する他のソース コードを調べることでした。そのため、私のように行き詰まっている人がいる場合は、そこから始めるのがよいでしょう。または、.lib ファイルを 16 進エディターで読み取ることができれば、関数とその引数を理解することができます。

もちろん、上記の引数の元のソース コードがある場合は、さらに優れています。:)

于 2012-10-31T13:41:15.327 に答える