我 认为 这是因为 -m32 使gcc 生成 32 位二进制文件,但 ld 仍在尝试 64 位输出?进一步谷歌搜索这个问题并没有取得任何成功,所以如果有人能验证我是正确的并给出正确的方法,我将非常感激! 非常感谢! 原文由 devrobf 发布,翻译遵循 CC BY-SA 4.0 许可协议 c++gcccmake32bit-64bitld 有用关注收藏 回复
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位的可执行文件...
GCC (on Linux) and some other compilers, e.g Sun Studio. Set CFLAGS and CXXFLAGS to include -m32 (32-bit build) or -m64 (64-bit build). Windows, Visual Studio generator .Use 64 bit generator ,e.g cmake -G "Visual Studio 10 Win64" path\to\source\dir to compile 64-bit (x64)...
对每个目标执行此操作的一种方法是:set_target_properties(MyTarget PROPERTIES COMPILE_FLAGS "-m32" LI...
cc ) target_compile_options ( main_32b PRIVATE -m32 ) target_link_libraries ( main PRIVATE mylib ) target_link_libraries ( main_32b PRIVATE mylib_32b ) 我在编译时得到以下输出(类似于gcc): 代码语言:javascript 运行 AI代码解释 Scanning dependencies of target mylib [ 12%] Building CXX object...
sudo apt-get install libx32gcc-4.8-dev sudo apt-get install libc6-dev-i386 sudo apt-get install lib32stdc++6 sudo apt-get install g++-multilib 然后,只需要指定cxx_flags为-m32即可,对应的CMake的写法为: 1 set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -m32") ...
sudo apt-get install libx32gcc-4.8-dev sudo apt-get install libc6-dev-i386 sudo apt-get install lib32stdc++6 sudo apt-get install g++-multilib 然后,只需要指定cxx_flags为-m32即可,对应的CMake的写法为: 1 set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -m32") ...
安装完插件之后,我们需要先配置一下编译器路径,不要采用默认的clang,因此可以使用快捷键Shift+Command+P,输入cmake,选择Cmake: Select a Kit,选择我们安装的arm64版本的gcc,如果没有显示我们安装的gcc,可以使用快捷键Shift+Command+P打开vscode命令,输入CMake Edit User-Local CMake Kits,添加刚刚安装的gcc路径: ...
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}-m32") else() endif(USE_32BITS) 对于UNIX 和类 UNIX 平台,我们可以通过编译器标志(选项)来控制进行 32 位还是 64 位构建。 GCC命令行参数 32位版:加上 -m32 参数,生成32位的代码。 64位版:加上 -m64 参数,生成64位的代码。
1、ADD_DEFINATIONS:向C/CPP添加宏定义,相当于gcc中的-D,参数之间用空格分割 2、ADD_DEPENDICIES(target_name, depend_name):定义target对其他target的依赖关系 3、AUX_SOURCE_DIRECTORY(dir VARIBLE):把目录下的所有源文件保存在变量中,基本用来创建源文件列表 ...