提升日志运行时错误

时间:2016-07-26 09:19:15

标签: c++ logging boost

我正在尝试关注其日志库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用于其他目的,比如生成随机数,所以我猜库本身已正确安装。

有人可以帮我吗?谢谢。

1 个答案:

答案 0 :(得分:1)

显然,您运行较旧的Windows版本时,Boost库是为Windows Vista及更高版本构建的。

您需要为Windows XP重建Boost。为此,您需要在构建Boost时将define=BOOST_USE_WINAPI_VERSION=0x0501添加到b2命令行,并在构建代码时也类似地定义此宏。