私はC++が初めてです。MySQL からバイナリログを読み取るために、C++ プログラムで MySQL レプリケーションを使用しようとしています。
.cpp
インターネットからヘッダーファイルとソースファイルを入手しました。これで、ヘッダー ファイルをフォルダーに配置し、それを指すように/usr/include/mysql
パスを設定しました。CPLUS_INCLUDE_PATH
ヘッダーファイルを使用できます。また、.cpp
ファイルを/usr/lib64/mysql
フォルダに配置し、すべてのファイルをコンパイルして同じディレクトリに.cpp
ファイルを作成しました。.o
しかし、g++
( g++ -I/usr/include/mysql -L/usr/lib64/mysql/ -g bin_log.cpp -o bin_log.out
) を使用してプログラムをコンパイルすると、呼び出しようとしているすべてのメソッドに対して Undefined Reference to エラーが発生します。下記参照:
/home/oracle/MySQL_To_Db2_Replication/bin_log.cpp:17:
undefined reference to `mysql::system::create_transport(char const*)
undefined reference to `mysql::Binary_log::Binary_log(mysql::system::Binary_log_driver*)'
undefined reference to `mysql::Binary_log::connect()'
undefined reference to `mysql::Binary_log::wait_for_next_event(mysql::Binary_log_event**)'
undefined reference to `mysql::Binary_log::get_position()'
また、コンパイル中に .so ファイルを作成してリンクしようとしましたが、機能しません。(私は使用しg++ -I/usr/include/mysql -L/usr/lib64/mysql/binlogapi.so -g bin_log.cpp -o bin_log.out
ました)。
を使用してライブラリを構築しようとしましcmake
たが、うまくいきませんでした。これで何が問題になるのか、誰でも推測できますか?私は基本的な何かが欠けていると思います。