3

http://dev.mysql.com/doc/refman/5.1/en/connector-cpp-examples-complete-example-1から最も単純な例をビルドすると、「'get_driver_instance' への未定義の参照」が表示されます。 .html . ローカル マシンでは正常にビルドおよび実行されますが、サーバーではビルドされません。mysql ライブラリの問題をリンクしているようです。
これは私のビルド コマンドです:
g++ -o test -Iinclude -Llib -L/usr/lib64/mysql main.cpp

動的な「libmysqlclient.so」を使用してビルドされているため、サーバー上でローカルにビルドされたバイナリを実行できません。また、静的な libmysqlclient.a をローカル マシンにインストールしようとしましたが、/usr/lib/mysql ディレクトリに「libmysqlclient.a」が見つかりません。サーバーで実行する唯一の方法は、ローカルマシンで静的にビルドできるか、サーバーで直接コンパイルしてビルドできる場合だと思います。「sudo yum install mysql-devel」を試しましたが、libmysqlclient.so しか表示されません。「libmysqlclient.a」が見つかりません。ローカル Linux に静的 mysqlclient をインストールする方法はありますか、それともビルド コマンドが間違っていますか? サーバー上でソース コードをビルドするにはどうすればよいですか?

4

2 に答える 2

13

-lmysqlcppconnリンカー オプションに追加してみてください。私はこれが答えを得るためだけに答えました(これは2年前に尋ねられましたが:D)

于 2012-08-09T08:40:09.780 に答える
1

コマンドに「-lmysqlclient」を追加してみてください。つまり、g++ -o test -Iinclude -Llib -L/usr/lib64/mysql -lmysqlclient main.cpp

于 2010-08-10T15:24:54.190 に答える