0

mingw-w64 gcc-4.8.1 を使用して Windows7 で Boost_1_54 リリースの Boost::Log ライブラリを使用すると問題が発生します。boost は問題なくコンパイルできますが、次のプログラムを正しくリンクできません。

#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; 
 }

次のコマンドを使用して、プログラムをコンパイル/リンクします

g++ -DBOOST_LOG_DYN_LINK log.cpp 
 -IC:\\Build\\Libs\\bin64\\boost\\include 
 -LC:\\Build\Libs\\bin64\\boost\\lib 
 -lpthread
 -lboost_thread-mgw48-mt-1_54
 -lboost_system-mgw48-1_54 
 -lboost_log-mgw48-1_54
 -lboost_log_setup-mgw48-1_54
 -lboost_filesystem-mgw48-1_54 -o loga.exe

エラーは次のようになります。

C:\Users\buck\AppData\Local\Temp\ccvYpCEb.o:log.cpp:(.text+0x37): undefined refe
rence to `__imp__ZN5boost3log9v2_mt_nt57trivial6logger3getEv'
C:\Users\buck\AppData\Local\Temp\ccvYpCEb.o:log.cpp:(.text+0x7f): undefined refe
rence to `__imp__ZN5boost3log9v2_mt_nt57trivial6logger3getEv'
c:/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-
mingw32/bin/ld.exe: C:\Users\buck\AppData\Local\Temp\ccvYpCEb.o: bad reloc addre
ss 0x0 in section `.pdata$_ZNSt11char_traitsIcE6lengthEPKc'
collect2.exe: error: ld returned 1 exit status

Linux では、サンプルを問題なく実行できます。ライブラリの別の順序も試しました。しかし、結果は同じです。

これを実行する方法、または問題を見つけるために続行する方法を知っている人はいますか? 私は今それを3時間試していますが、次に何をすべきかわかりません.

ご挨拶

ケビン

4

0 に答える 0