2

私は後押しするのがとても新しいです。私のために作成されたアプリケーションで使用される 1 つのファイルのライブラリ ファイルを取得する必要がありました (そのため、自分でアプリを再コンパイルできます)。

ブースト ライブラリ ファイルを作成できますが、いくつかのファイルにエラーがあり、作成できません。

コマンドプロンプトからコピーされたエラーは次のとおりです(ファイルを作成するために行ったことはすべて「.\b2 link = shared」であることに注意してください)

ライブラリ bin.v2\libs\thread\build\msvc-11.0\release\threading-multi\boost_thread-vc110-mt-1_54.lib およびオブジェクト bin.v2\libs\thread\build\msvc-11.0\rele ase の作成\threading-multi\boost_thread-vc110-mt-1_54.exp thread.obj: エラー LNK2019: 未解決の外部シンボル "__declspec(dllimport) public: __thiscall boost::gregorian::greg_month::greg_month(unsigned short)" (_ im p ??0greg_month@gregorian@boost@@QAE@G@Z) 関数で参照される「パブリック: __this call boost::gregorian::date::date(enum boost::date_time::special_values)」(??0da te@gregorian@boost@@QAE@W4special_values@date_time@2@@Z) bin.v2\libs\thread\build\msvc-11.0\release\threading-multi\boost_thread-vc110-mt -1_54.dll : 致命的なエラーLNK1120: 1 つの未解決の外観

どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

2

32 ビット ブーストの場合は、32 ビット コマンド プロンプトを起動します。(64 ビット Windows では、これは C:\Windows\SysWOW64\cmd.exe にあります)。次に、Boost ルート ディレクトリから「bootstrap.bat」を実行します。これにより、適切な b2.exe が作成されます。次に実行します

b2 link=shared address-model=32

以前のようにあなたのコマンド。(boost-thread にタグを付けたことに気付きましたが、スレッド ライブラリだけをビルドするに--with-threadは、コマンドに追加します)。

64 ビット ブースト(64 ビット OS 上) の場合は、64 ビット コマンド プロンプト (C:\Windows\System32\cmd.exe) を起動します。はい、私はそれが奇妙に見えることを知っていますが、私を信じてください. 「boostrap.bat」を再度実行してから、

b2 link=shared address-model=64
于 2013-09-11T07:06:05.073 に答える