c++ - MySQL 库在 C++ 中使用 cmake
问题描述
这是我用来在 windows 上使用 CMAKE GUI 生成构建系统的 cmakelists.txt 文件(因为我实际上必须在 c++ 中为 windows 制作控制台应用程序)。
cmake_minimum_required(VERSION 3.16) # Or whatever version you use
set(CMAKE_CXX_STANDARD 17)
# THIS HAS TO COME BEFORE THE PROJECT LINE
set(CMAKE_C_COMPILER "gcc")
set(CMAKE_CXX_COMPILER "g++")
# THIS HAS TO COME BEFORE THE PROJECT LINE
project(test VERSION 0.0.0 LANGUAGES C CXX)
project(main)
set(FULL_PATH_TO_MYSQL_CONNECTOR_CPP_DIR "C:\Program Files\MySQL\MySQL Connector C++ 8.0")
add_executable(test main.cpp)
target_link_libraries(test mysqlcppconn)
target_compile_features(test PRIVATE cxx_range_for)
set(STDFS_LIB stdc++fs)
这是我要运行的代码(main.cpp)-
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>
int main()
{
return 0;
}
我在 make #include <cppconn/driver.h> 时遇到错误 - 没有这样的文件或文件夹。
我猜这个
设置(FULL_PATH_TO_MYSQL_CONNECTOR_CPP_DIR "C:\Program Files\MySQL\MySQL 连接器 C++ 8.0")
可以设置(FULL_PATH_TO_MYSQL_CONNECTOR_CPP_DIR "C:/mysqlconn")
但是如果我将 MySQL Connector C++ 8.0 库放在那里,它无论如何都不起作用,那么应该怎么做呢?2021 年在 C++ 中使用 mysql 连接器应该不是秘密,对吗?
解决方案
您没有设置包含目录的路径,我认为链接也不起作用,因为您也没有添加必要的路径。
如果FULL_PATH_TO_MYSQL_CONNECTOR_CPP_DIR
是您的正确路径,那么它将如下所示:
include_directories(${FULL_PATH_TO_MYSQL_CONNECTOR_CPP_DIR}/include)
link_directories(${FULL_PATH_TO_MYSQL_CONNECTOR_CPP_DIR}/lib64)
推荐阅读
- javascript - 用希伯来文文本保存 CSV 文件
- c# - 将多个参数传递给从 Windows 窗体运行的控制台应用程序
- jaspersoft-studio - Jasper Report 6.6.0 无法连接到 bean 收集数据适配器
- python - 如何从列表中查询项目?
- android - 无法解析“:app@debug/compileClasspath”的依赖关系:无法解析com.github.rubensousa:bottomsheetbuilder:1.6.1
- html - CSS 在 CSS 文件中不起作用,但是当我在里面设置样式时它起作用
- graphql - 具有自定义类型属性的 DynamoDB 表的 Graphql 突变查询
- python - Conda:在从 YAML 文件创建环境之前指定环境变量
- c# - 当我离开页面时,控件 OnElementChanged() 会被调用吗?
- regex - 通配符匹配反向查找