编译代码时出现以下错误。
c:\boost_1_48_0\boost\signals\connection.hpp(118) : warning C4251: 'boost::signals::connection::con' : class 'boost
::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'boost::signals::connection'
代码中的信号定义为
boost::signal<void (long long int)> totalTimeChanged;
boost::signal<void (unsigned int)> curTimeChanged;
连接完成
GStreamer::totalTimeChanged.connect(boost::bind(&MainWindow\
::total_time_changed, &player, _1));
编译成功,但是如何摆脱这些编译器警告?
最佳答案
您可能想阅读How can I use Standard Library (STL) classes in my dll interface or ABI?提到的“UnknownRoad”帖子位于http://www.unknownroad.com/rtfm/VisualStudio/warningC4251.html
HTH
关于visual-c++ - 类 'boost::shared_ptr<T>' 需要有 dll 接口(interface)才能由类 'boost::signals::connection' 的客户端使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11734510/