Cập nhật :
Có vẻ như bạn cần gọi mysql_library_init () trước mysql_init()
:
Về câu hỏi ban đầu của bạn, libmysqlclient_r.so
thực sự là một liên kết tượng trưng đến libmysql.so
. Bạn có thể thay đổi libmysql/CMakeLists.txt
để tạo một thư viện tĩnh (libmysql.a
) thay vào đó bằng cách xóa SHARED
từ khóa từ dòng sau:
ADD_LIBRARY(libmysql SHARED ${CLIENT_SOURCES} libmysql.def)
Tuy nhiên, tôi khuyên bạn nên (1) thử chạy cùng một mã mà không sử dụng các chuỗi và xem sự cố vẫn tiếp diễn hay không, (2) xây dựng và sử dụng phiên bản gỡ lỗi của thư viện:
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug
make
Bằng cách này, bạn có thể điều tra vấn đề chi tiết hơn.