我已經從http://nuwen.net/mingw.html下載了明確的發行版,並試圖從Boost::Log documentation構建一個簡單的示例。這導致以下(鏈接器?)錯誤:Mingw and Boost :: Log:構建不重要的示例失敗
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?
不幸的是,這隻會導致更多的錯誤:http://pastebin.com/xkLWk5uz – Geier
@Geier:好吧,它清楚地表明第一組錯誤得到了解決,現在您需要提供'boost_log'使用的其他庫! –
哦!謝謝,就是這樣!完整的命令行供參考:'g ++ main.cpp -lboost_log -lboost_system -lboost_filesystem -lboost_date_time -lboost_thread -o logtest.exe' – Geier