我是 C++ 新手。我正在尝试在 C++ 程序中使用 MySQL 复制从 MySQL 读取二进制日志。
我.cpp
从 Internet 获得了头文件和源文件。现在我已经将头文件放在文件/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
时,对于我试图调用的所有方法,我都会收到未定义的对错误的引用。见下文:
/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
,但没有运气。有人能猜出这可能是什么问题吗?我想我缺少一些基本的东西。