我正在使用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無法找到Thrift庫
- 2. CMake無法找到我的庫文件
- 3. cmake命令無法找到增強庫
- 4. CMake無法找到Eigen3
- 5. Cmake無法找到QGLWidget
- 6. CMake無法找到boost_asio
- 7. CMake無法找到glog
- 8. CMake無法找到VTKConfig.cmake
- 9. CMake無法找到Curses
- 10. CMake無法找到freeglut-3.0.0
- 11. 哈德森無法找到cmake
- 12. Cmake無法找到環境變量
- 13. Android的 - 無法找到CMake的
- 14. CMake的內msys2無法找到的OpenSSL
- 15. CMake無法找到源文件(add_executable)
- 16. CMake錯誤:無法找到openSSL或GCrypt
- 17. CMake錯誤:無法找到請求的Boost庫
- 18. 爲什麼Cmake無法使用include_directories找到該庫?
- 19. CMake:無法找到沒有絕對路徑的庫
- 20. cmake無法找到使用FindHDF5的hdf5庫
- 21. Qt Creator中無法找到的cmake定製庫步
- 22. 無法找到庫
- 23. CMake的:無法找到提升1_60_0(version.hp未找到)
- 24. 無法在Windows上安裝mysqlclient
- 25. 無法在Windows上安裝python mysqlclient
- 26. 「無法找到SpatiaLite庫。」 Django
- 27. 靜態庫無法找到
- 28. Scintilla .NET - 無法找到庫
- 29. Monodroid:無法找到庫'com.google.android.maps'
- 30. Luabind - 無法找到Lua庫
釷鏈接的完全限定路徑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
謝謝。事實上,我確實設置了模塊路徑,但仍然出現相同的錯誤。 –