使用docker环境编译
-
使用
alpine镜像,alpine系统包含各个系统架构的镜像,alpine使用的是musl,运行时是libcalpine - Official Image | Docker Hub

-
使用
muslccmusl中有各个平台的编译环境
muslcc/x86_64 Tags | Docker Hub

-
如果要使用
gnu glibc,建议使用ubuntu编译,ubuntu也支持各个架构ubuntu - Official Image | Docker Hub

Docker环境参考:gcc docker 编译环境
cmake gcc静态链接运行时
cmake_minimum_required(VERSION 3.0)
project(myproject)
add_executable(myexe main.cpp)
target_include_directories(myexe PRIVATE include)
target_compile_features(myexe PUBLIC cxx_std_11)
target_link_libraries(myexe PRIVATE -static-libgcc -static-libstdc++ -static)
在这个示例中,-static-libgcc和-static-libstdc++选项用于将GCC和C++运行时库静态链接,-static选项用于指定静态链接方式。这样,在编译可执行文件时,就会将运行时库静态链接到可执行文件中,从而避免在目标环境中需要安装运行时库的问题。
target_link_libraries(${PROJECT_NAME} PUBLIC -static-libgcc -static-libstdc++ -static)