5

boostpro から VC9 用の boost v1.47 DLL (MT、Debug) をインストールしました。私のコード#include<boost/regex.hpp>. ビルドしようとすると、追加のライブラリの依存関係(二重引用符で囲まれている)に追加されていてLNK1104 cannot open file libboost_regex-vc90-mt-gd-1_47.libも、VC からが表示されます。問題は、ディレクトリ内のライブラリの名前が ではなく、単に であることです。boost_1_47/liblibboost_regex-vc90-mt-gd-1_47.libboost_regex-vc90-mt-gd-1_47.lib

VC で先頭の 'lib' を省略するにはどうすればよいですか? どんな助けでも大歓迎です。

前もって感謝します

4

1 に答える 1

3

Boost では、lib プレフィックスは、ライブラリが静的または動的 (共有) リンク用に構築されたかどうかを示します。ライブラリを動的にリンクすることを示すには (lib プレフィックスのない名前が示すように)、 のプリプロセッサ ディレクティブを定義しますBOOST_ALL_DYN_LINK

Visual Studio で、プロジェクトの設定に移動し、[構成プロパティ] > [ C/C++ ] > [プリプロセッサ]ページを選択します。プリプロセッサ定義に追加BOOST_ALL_DYN_LINKします。

この関連する質問も参照してください: https://stackoverflow.com/a/2521866/483776

于 2014-07-24T20:29:00.403 に答える