我正在使用CMake生成一個makefile來編譯使用boost,eigen和mysqlclient庫的C++項目。在make過程中,代碼似乎編譯成OK,但是在鏈接階段,出現「ld:library找不到-lmysqlclient」的錯誤。我在我的CMakeLists.txt文件中有 target_link_libraries(my_executable mysqlclient) 。當我刪除那條線時,我不再得到那個錯誤信息,但是我得到一長串未定義的符號錯誤(所有這些都與mysql有關)。 該項目在Xcode中生成確定,所以我知道至少mysql客戶端庫在我的機器上設置。 任何提示,建議?CMake無法找到mysqlclient庫
0
A
回答
1
你將要使用從Kitware的FindMySQL.make
包(在這裏保存文件:https://cmake.org/Wiki/CMakeUserFindMySQL爲${CMAKE_SOURCE_DIR}/cmake/FindMySQL.cmake
),然後找到庫:
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
find_package(MySQL)
最後,在CMake的你的鏈接步驟應該與
取代target_link_library(myexecutable ${MYSQL_LIBRARY})
${MYSQL_LIBRARY}
應該包含到庫中的文件要與
相關問題
- 1. CMake無法找到QtNetwork庫
- 2. CMake無法找到Thrift庫
- 3. Cmake無法找到Boost庫
- 4. CMake無法找到我的庫文件
- 5. cmake命令無法找到增強庫
- 6. CMake與Boost無法找到靜態庫
- 7. CMake無法找到cpp-netlib庫
- 8. CMake無法找到增強庫(CGAL,Windows)
- 9. 無法找到與CMake Eigen3
- 10. CMake無法找到Eigen3
- 11. CMake無法找到freeglut-3.0.0
- 12. CMake無法找到Curses
- 13. CMake無法找到glog
- 14. CMake無法找到Qt4
- 15. CMake無法找到VTKConfig.cmake
- 16. CMake無法找到libcurl-config.cmake
- 17. Cmake無法找到QGLWidget
- 18. CMake無法找到boost_asio
- 19. Cmake無法找到提升
- 20. CMake無法找到OpenCVConfig.cmake
- 21. Emscripten無法找到cmake的路徑
- 22. Android的 - 無法找到CMake的
- 23. 哈德森無法找到cmake
- 24. CMake無法在Debian上找到boost_program_options
- 25. Cmake無法找到提升文件夾
- 26. CMake錯誤:無法找到openSSL或GCrypt
- 27. CMake無法找到源文件(add_executable)
- 28. CMake的內msys2無法找到的OpenSSL
- 29. Cmake無法找到環境變量
- 30. virtualenv可以找到重新定位的庫(如MySQLdb的mysqlclient庫)
釷鏈接的完全限定路徑anks。我嘗試了你的建議:將文件保存爲FindMySQL.cmake,然後將這兩行添加到CMakeLists.txt中。當我這樣做時,我從CMake獲得以下輸出:CMakeLists.txt中的CMake警告:64(find_package): 通過不在CMAKE_MODULE_PATH中提供「FindMySQL.cmake」,此項目有 要求CMake查找由「MySQL」,但 CMake沒有找到一個。 無法找到「MySQL的」與任何 下列名稱提供了一個程序包配置文件: MySQLConfig.cmake 我已經編輯了答案固定模塊路徑問題的mysql-config.cmake –
。我假定你已經正確安裝了這個設備,並將該文件下載到了正確的位置。 – subzero
謝謝。事實上,我確實設置了模塊路徑,但仍然出現相同的錯誤。 –