【问题标题】:Mingw and Boost::Log: Building trivial example failsMingw 和 Boost::Log:构建简单示例失败
【发布时间】:2013-08-29 02:05:30
【问题描述】:

我已经从 http://nuwen.net/mingw.html 下载了 mingw 发行版,并尝试从 Boost::Log documentation 构建简单的示例。这会导致以下(链接器?)错误:

C:\log>g++ -lboost_log main.cpp -o logtest.exe
C:\Users\MyUserName\AppData\Local\Temp\cc5rtLIQ.o:main.cpp:(.text+0x42): undefined reference to `boost::log::v2s_mt_nt5::trivial::logger::get()'
C:\Users\MyUserName\AppData\Local\Temp\cc5rtLIQ.o:main.cpp:(.text+0x5e): undefined reference to `boost::log::v2s_mt_nt5::trivial::logger::get()'
C:\Users\MyUserName\AppData\Local\Temp\cc5rtLIQ.o:main.cpp:(.text+0xe8): undefined reference to `boost::log::v2s_mt_nt5::trivial::logger::get()'
C:\Users\MyUserName\AppData\Local\Temp\cc5rtLIQ.o:main.cpp:(.text+0x105): undefined reference to `boost::log::v2s_mt_nt5::trivial::logger::get()'
C:\Users\MyUserName\AppData\Local\Temp\cc5rtLIQ.o:main.cpp:(.text+0x18f): undefined reference to `boost::log::v2s_mt_nt5::trivial::logger::get()'
C:\Users\MyUserName\AppData\Local\Temp\cc5rtLIQ.o:main.cpp:(.text+0x1ac): more undefined references to `boost::log::v2s_mt_nt5::trivial::logger::get()' follow
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\MyUserName\AppData\Local\Temp\cc5rtLIQ.o: bad reloc address 0x148 in section `.rdata'
collect2.exe: error: ld returned 1 exit status

g++的版本是4.8.1。

我还尝试使用自定义构建的 boost 库构建示例,两者都使用来自 Mingw-builds 的 mingw 编译器和 mingw-get 安装程序。 mingw-builds 显示相同的错误消息,mingw-get 的版本甚至无法构建 Boost::Log。

如何让日志库与 mingw 一起使用?

【问题讨论】:

    标签: c++ boost mingw


    【解决方案1】:

    你需要修复你的命令行:

    g++ main.cpp -lboost_log -o logtest.exe
    

    参数按指定的顺序处理,符号仅在遇到库时才从库中解析。

    【讨论】:

    • @Geier:好吧,它清楚地表明第一组错误已经解决,现在您需要提供boost_log使用的其他库!
    • 哦!谢谢,就是这样!完整命令行供参考:g++ main.cpp -lboost_log -lboost_system -lboost_filesystem -lboost_date_time -lboost_thread -o logtest.exe
    【解决方案2】:

    我只能使用以下命令行在 gcc (linux) 中编译 boost log 简单示例:

    g++ -o main main.cpp -DBOOST_LOG_DYN_LINK -lboost_log -lpthread 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-08
      • 2019-03-07
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多