soci给出致命错误:mysql.h:没有这样的文件或目录

问题描述

当我尝试编译使用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连接器。

解决方法

我已经使用以下方法解决了这个问题:https://github.com/Gancc123/flame-sp/blob/c8108823dea205e25abac03942534996710109f3/cmake/modules/Findmysql.cmake