次のコマンド ラインを使用して、C++ で記述されたプログラムをコンパイルしようとしています。
g++ test.cpp pugixml-1.0/src/pugixml.cpp -lcurl -lmysqlclient -lmysqlcppconn-static -lboost_thread
これは Debian 32 ビット マシンでは問題なく動作しますが、Ubuntu 64 ビットでは失敗し、その理由はわかりません。mysql を使用するために必要なすべてのパッケージをインストールしました。エラー メッセージは次のようになります。
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libmysqlcppconn-static.a(mysql_client_api.cpp.o): In function `sql::mysql::NativeAPI::LibmysqlStaticProxy::thread_init()':
(.text+0x1): undefined reference to `mysql_thread_init'
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libmysqlcppconn-static.a(mysql_client_api.cpp.o): In function `sql::mysql::NativeAPI::LibmysqlStaticProxy::thread_end()':
(.text+0x11): undefined reference to `mysql_thread_end'
etc. ...
collect2: ld returned 1 exit status
メッセージは非常に長く、すべての行は参照を変更すると非常によく似ています;)