set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g") # RelWithDebInfo 构建 总结 在CMakeLists.txt 中,使用 CMAKE_CXX_FLAGS 可以根据项目需求灵活配置编译器选项,以优化编译过程并满足特定的开发需求。通过设置适当的标志,你可以控制编译过程中的优化级别、警告级别、调试信息等。
我需要强制我的项目构建 32 位二进制文件,因为我必须链接一个只能作为 32 位使用的库。我根据错误消息进行了诊断,例如: /usr/bin/ld: i386 architecture of input file `*external-32bit-lib*' is incompatible with i386:x86-64 output 因此,根据我收集的信息,我应该使用: set (CMAKE_CXX_FLAGS "-m32"...
set(CMAKE_C_FLAGS -m32) else() set(CMAKE_CXX_FLAGS -m64) #生成32位 set(CMAKE_C_FLAGS -m64) endif() #生成程序的输出目录 set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) #设置环境变量set(ENV{CFLAGS} -O0 -Wall -pthread) set(CMAKE_C_FLAGS "$ENV{CFLAGS} -O2 -Wall -pthr...
CMAKE_CXX_FLAGS="-m32" CMAKE_C_FLAGS="-m32"确保您链接的任何库都编译为32位。
如果您想要使用cmake编译和链接32比特,请使用这个来建立程式库和二进制档:创建库:
然后,只需要指定cxx_flags为-m32即可,对应的CMake的写法为: 1 set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -m32") 最后用cmake生成makefile并make即可生成32位的静态库。 编译mac静态库 这个比较简单,直接Xcode -GXcode,然后用xcodebuild命令即可。
往上看 set(CMAKE_C_FLAGS -m32) set(CMAKE_CXX_FLAGS -m32)另
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}-m32") else() endif(USE_32BITS) 对于UNIX 和类 UNIX 平台,我们可以通过编译器标志(选项)来控制进行 32 位还是 64 位构建。 GCC命令行参数 32位版:加上 -m32 参数,生成32位的代码。 64位版:加上 -m64 参数,生成64位的代码。
然后,只需要指定cxx_flags为-m32即可,对应的CMake的写法为: 1 set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -m32") 最后用cmake生成makefile并make即可生成32位的静态库。 编译mac静态库 这个比较简单,直接Xcode -GXcode,然后用xcodebuild命令即可。
mkdir build cd build cmake -DCMAKE_CXX_COMPILER=g++-multilib -DCMAKE_C_COMPILER=gcc-multilib -DCMAKE_CXX_FLAGS="-m32" -DCMAKE_C_FLAGS="-m32" .. 5. 使用make命令编译生成32位程序 最后,运行make命令来编译你的程序: bash make 如果一切顺利,你应该会在构建目录中得到一个32位的可执行文件...