1

SOCI ライブラリを使用しているプログラムをコンパイルしようとすると、次のようになります。

/usr/local/include/soci/mysql/soci-mysql.h:31:10: fatal error: mysql.h: No such file or directory

私がチェックしたところ、mysql.hが次の場所にありました:

/usr/include/mysql

私のCMakeListsファイルは次のとおりです。

cmake_minimum_required(VERSION 3.10)

add_definitions(-DUNICODE -D_UNICODE)
project(server)

find_package(Threads REQUIRED)

include_directories(include
                    ../Third-party/SimpleIni
                    ../Shared/Logger
                    ../Shared/Communication-Protocol     
)

file(GLOB SOURCES "src/*.cpp")

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_HOME_DIRECTORY}/bin)
add_executable(${PROJECT_NAME} ${SOURCES})

set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17)
target_link_libraries(${PROJECT_NAME} pthread soci_core soci_mysql)

target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra)

私は追加しようとしました:

find_package(mysql REQUIRED)
include_directories (${MYSQL_INCLUDE_DIR})

しかし、パッケージ構成ファイルがないことがわかりました。

また、soci および mysql コネクタを再インストールしようとしました。

4

1 に答える 1

0

これを使用してこの問題を解決しました:https://github.com/Gancc123/flame-sp/blob/c8108823dea205e25abac03942534996710109f3/cmake/modules/Findmysql.cmake

于 2020-08-27T09:10:18.553 に答える