プログラムでバインドと関数を使用する必要がありますが、残念ながらvs2010ではプログラムをリンクできません。boost::bindドキュメントの次の例を使用しました
#include <boost\bind.hpp>
#include <boost\function.hpp>
#include <functional>
class button
{
public:
boost::function<void()> onClick;
};
class player
{
public:
void play();
void stop();
};
button playButton, stopButton;player thePlayer;
void connect()
{
playButton.onClick = boost::bind(&player::play, &thePlayer);
stopButton.onClick = boost::bind(&player::stop, &thePlayer);
}
void main(int argc, char* argv[])
{
connect();
}
エラー1エラーLNK2019:未解決の外部シンボル "public:void __thiscall player :: stop(void)"(?stop @ player @@ QAEXXZ)関数 "void __cdecl connect(void)"(?connect @@ YAXXZ)で参照
BoostProの最新の32および64バージョンを試し、このチュートリアルhttp://www.youtube.com/watch?v=5AmwIwedTCMに従いました。vs以外はすべて同じエラーが発生します...
VS2010プロジェクト設定include/lib path https://dl.dropbox.com/u/47585151/vs.png
しかし、私がオンにしたとき
Linker-> General-> ShowProgress-> For Libraries Searched(/ VERBOSE:Lib)
VSがで定義されているこれらのライブラリのみを検索していることに気づきました
リンカ->入力->追加の依存関係
vs2010でboost::bindとboost::functionに必要な.libブーストを確認することはできますか?