我正在尝试关注其日志库Boost Log tutorial的升级教程。使用相同的代码,如
#include <boost/log/trivial.hpp>
int main(int, char*[])
{
BOOST_LOG_TRIVIAL(trace) << "A trace severity message";
BOOST_LOG_TRIVIAL(debug) << "A debug severity message";
BOOST_LOG_TRIVIAL(info) << "An informational severity message";
BOOST_LOG_TRIVIAL(warning) << "A warning severity message";
BOOST_LOG_TRIVIAL(error) << "An error severity message";
BOOST_LOG_TRIVIAL(fatal) << "A fatal severity message";
return 0;
}
可以按预期成功编译代码。但是,当我运行代码时,运行时错误弹出为:Entry Point Not Found。错误消息显示为:
无法找到过程入口点AcquireSRWLockShared 动态链接库KERNEL32.dll。
我将Boost lib用于其他目的,比如生成随机数,所以我猜库本身已正确安装。
有人可以帮我吗?谢谢。
答案 0 :(得分:1)
显然,您运行较旧的Windows版本时,Boost库是为Windows Vista及更高版本构建的。
您需要为Windows XP重建Boost。为此,您需要在构建Boost时将define=BOOST_USE_WINAPI_VERSION=0x0501
添加到b2
命令行,并在构建代码时也类似地定义此宏。