linux - Linux 64bits:使用 cmake 交叉编译 32bits 目标
问题描述
我在 Linux 64bits 中使用gcc + cmake,我的编译目标是 Linux 32bits。
所以我添加-m32
到我的CMAKE_C_FLAGS中。
但随后cmake失败并显示以下消息:The C compiler "/usr/bin/gcc" is not able to compile a simple test program.
当然,这是因为 32 位可执行文件无法在 64 位架构上运行。
我查看了交叉编译 cmake 的页面,但对于我的需要来说似乎非常复杂。
所以,我的问题:有没有办法使用cmake简单地构建一个 32 位二进制文件(exe 或 lib) ?
有关信息,这是我尝试使用环境变量的方法:
- 添加
`${myflag}`
到CMAKE_C_FLAGS - 将myflag设置为空。
- 调用cmake生成一个 makefile(这样它会成功检查编译器)
- 将我的标志设置为
-m32
. - 调用make(所以它将使用我的 -m32 选项编译
但似乎gcc不评估用户环境变量。
解决方案
推荐阅读
- bash - 如何限制循环,使其仅对每个值循环一次
- javascript - 如何选择并获取两个输入值?
- python - 如何使用 Python 脚本将 PDF 文档转换为 JSON
- pine-script - 交易视图。如何计算一个指标匹配某个标准的次数?
- paypal - Paypal 智能按钮 - 过期字段(yy vs yyyy)
- java - 测试 MongoDB 存储库方法
- javascript - 正在加载的数据会一直加载到渲染之后
- regex - 如何使用 Excel VBA 获取包含在 2 个字符之间的字符串的特定部分?
- python - 与程序保持一致的 Python 数据库
- latex - 如何使用 dot2tex 在边缘标签中获取乳胶?