Mingw和Boost::Log:构建琐碎的示例失败
Mingw and Boost::Log: Building trivial example fails
我已经从http://nuwen.net/mingw.html并尝试从Boost::Log文档中构建这个琐碎的示例。这会导致以下(链接器?)错误:
C:log>g++ -lboost_log main.cpp -o logtest.exe
C:UsersMyUserNameAppDataLocalTempcc5rtLIQ.o:main.cpp:(.text+0x42): undefined reference to `boost::log::v2s_mt_nt5::trivial::logger::get()'
C:UsersMyUserNameAppDataLocalTempcc5rtLIQ.o:main.cpp:(.text+0x5e): undefined reference to `boost::log::v2s_mt_nt5::trivial::logger::get()'
C:UsersMyUserNameAppDataLocalTempcc5rtLIQ.o:main.cpp:(.text+0xe8): undefined reference to `boost::log::v2s_mt_nt5::trivial::logger::get()'
C:UsersMyUserNameAppDataLocalTempcc5rtLIQ.o:main.cpp:(.text+0x105): undefined reference to `boost::log::v2s_mt_nt5::trivial::logger::get()'
C:UsersMyUserNameAppDataLocalTempcc5rtLIQ.o:main.cpp:(.text+0x18f): undefined reference to `boost::log::v2s_mt_nt5::trivial::logger::get()'
C:UsersMyUserNameAppDataLocalTempcc5rtLIQ.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:UsersMyUserNameAppDataLocalTempcc5rtLIQ.o: bad reloc address 0x148 in section `.rdata'
collect2.exe: error: ld returned 1 exit status
g++的版本是4.8.1。
我还尝试过使用自定义的build-boost库来构建这个示例,包括使用Mingwbuilds中的mingw编译器和mingw-get安装程序。mingw构建的一个显示相同的错误消息,来自mingw-get的版本甚至无法构建Boost::Log。
如何让日志库与mingw一起工作?
您需要修复您的命令行:
g++ main.cpp -lboost_log -o logtest.exe
参数将按照指定的顺序进行处理,并且只有在遇到库时才从库中解析符号。
我只能使用以下命令行在gcc(linux)中编译boost日志的琐碎示例:
g++ -o main main.cpp -DBOOST_LOG_DYN_LINK -lboost_log -lpthread
相关文章:
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- docker 构建失败:无法设置环境变量
- 构建失败错误:无法使用 qibuild 构建C++ SDK Helloworld
- 使用提升库构建失败
- Vcpkg Pango CMake 构建失败缺少头文件
- 调试模板时出现问题.专门针对 Linux GCC 7、GCC 6、GCC 5、GCC 4.9 错误构建失败:模板参数 1
- 我必须构建我的项目 2 次,第一次失败,因为它无法打开库
- 如何在 Linux 中构建共享库时使未定义引用的链接器失败
- 构建 C++ Allegro 5 在 Linux Mint QT 上失败
- CUDA opencv 构建失败 - 缺少实际存在的文件
- 电报上的构建命令失败
- Xcode OSX上的C++构建失败,出现多个错误文件IO..不可用:在macOS 10.15中引入
- exteranl原生构建问题,构建命令失败,android工作室
- 构建音频分析库Essentia在Gaia支持下失败了
- MXE Qt5 应用程序构建在 Docker 容器中失败
- Bazel 使用 ccache 构建C++示例失败
- 错误:无法构建 PhantomJS!构建Qt基地失败
- 使用 QT 执行二进制构建失败
- 失败构建和破坏之间的C++代码重用