我需要在我的程序中使用绑定和函数。但不幸的是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:函数“void __cdecl connect(void)”(?connect@@YAXXZ) 中引用的未解析外部符号“public: void __thiscall player::stop(void)”(?stop@player@@QAEXXZ)
我已经尝试了最新的 32 和 64 版本的 BoostPro 并按照本教程http://www.youtube.com/watch?v=5AmwIwedTCM.All but vs 仍然产生相同的错误...
VS2010项目设置include/lib路径 https://dl.dropbox.com/u/47585151/vs.png
但是当我打开
链接器->常规->显示进度->搜索库 (/VERBOSE:Lib)
我注意到 VS 只搜索在
链接器->输入->附加依赖
是否可以在 vs2010 下检查 boost::bind 和 boost::function 需要哪个 .lib boost?