要使用CMake編譯MySQL客戶端程序,首先確保已經安裝了MySQL服務器和客戶端庫
創建一個新的文件夾,例如mysql_client_cmake
,并在其中創建兩個文件:CMakeLists.txt
和main.cpp
。
編輯CMakeLists.txt
文件,添加以下內容:
cmake_minimum_required(VERSION 3.0)
project(mysql_client_cmake)
set(CMAKE_CXX_STANDARD 11)
# 添加MySQL客戶端庫
find_package(MySQL REQUIRED)
include_directories(${MYSQL_INCLUDE_DIRS})
add_executable(mysql_client main.cpp)
# 鏈接MySQL客戶端庫
target_link_libraries(mysql_client ${MYSQL_LIBRARIES})
main.cpp
文件,添加以下內容:#include<iostream>
#include<mysqlx/xdevapi.h>
int main() {
const std::string url = "mysqlx://username:password@localhost";
try {
mysqlx::Session session(url);
mysqlx::Schema schema = session.getSchema("test");
mysqlx::Table table = schema.getTable("test_table");
// 插入數據
table.insert("name", "age")
.values("John Doe", 30)
.execute();
// 查詢數據
mysqlx::RowResult result = table.select().execute();
std::cout << "Rows in the table:"<< std::endl;
for (const auto &row : result) {
std::cout<< row[0].get<std::string>() << ", "<< row[1].get<int>()<< std::endl;
}
} catch (const std::exception &e) {
std::cerr << "Error: " << e.what()<< std::endl;
return 1;
}
return 0;
}
請將username
和password
替換為實際的MySQL用戶名和密碼。
mysql_client_cmake
文件夾,然后運行以下命令:mkdir build
cd build
cmake ..
make
./mysql_client
這將連接到MySQL服務器,插入數據并查詢數據。請注意,這個示例使用了MySQL Connector/C++ 8.0的X DevAPI,因此需要MySQL 8.0或更高版本。如果你使用的是較舊的MySQL版本,可能需要使用不同的API。