你可以使用以下CMake脚本来编译MySQL并添加-OS和-s参数:

cmake_minimum_required(VERSION 3.10)
project(MySQLCompilation)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -OS -s")

# 设置MySQL源码目录
set(MYSQL_SOURCE_DIR "<path_to_mysql_source>")

# 设置生成的动态库和静态库的输出目录
set(OUTPUT_DIR "<path_to_output_directory>")

# 编译生成动态库
add_custom_target(
    dynamic_library ALL
    COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT_DIR}
    COMMAND ${CMAKE_COMMAND} -E chdir ${OUTPUT_DIR} cmake ${MYSQL_SOURCE_DIR} -DBUILD_SHARED_LIBS=ON
    COMMAND ${CMAKE_COMMAND} --build ${OUTPUT_DIR}
    WORKING_DIRECTORY ${OUTPUT_DIR}
)

# 编译生成静态库
add_custom_target(
    static_library ALL
    COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT_DIR}
    COMMAND ${CMAKE_COMMAND} -E chdir ${OUTPUT_DIR} cmake ${MYSQL_SOURCE_DIR} -DBUILD_SHARED_LIBS=OFF
    COMMAND ${CMAKE_COMMAND} --build ${OUTPUT_DIR}
    WORKING_DIRECTORY ${OUTPUT_DIR}
)

请确保将<path_to_mysql_source><path_to_output_directory>替换为实际的MySQL源码目录和输出目录路径。然后,使用以下命令来生成动态库和静态库:

cmake .
make dynamic_library
make static_library

这将在指定的输出目录中生成动态库和静态库,并将-OS和-s参数添加到编译选项中

用cmake写个脚本编译mysql生成动态库静态库都加上-OS -s参数

原文地址: https://www.cveoy.top/t/topic/idTw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录