make错误-incompatible

本文介绍了解决使用默认64位GCC编译器进行32位编译时遇到的问题。通过安装gcc-multilib包,可以成功地使make命令支持32位编译。

貌似是库不对,默认的gcc库是64位的,make选项中有-m32,可能需要32位的库?。后面apt-get install gcc-multilib后即可成功make。

### 解决 Qt 5.12.3 中出现的 `Incompatible makefile generator: INGW` 错误 在使用 Qt 5.12.3 进行项目构建时,用户可能会遇到 `Incompatible makefile generator: INGW` 错误。这个问题通常发生在尝试使用 MinGW 编译器生成项目构建文件(Makefile)的过程中,尤其是在使用 CMake 工具进行项目配置时。 #### 原因分析 1. **编译器配置不匹配**:Qt 5.12.3 提供了多种编译器版本(如 MinGW 和 MSVC),如果在配置项目时选择的编译器与实际使用的编译器不一致,可能会导致此错误。 2. **CMake 配置问题**:CMake 在生成 Makefile 时,会根据当前环境变量和配置选择适当的生成器。如果 CMake 检测到的编译器版本与 Qt 配置中的编译器版本不一致,可能会导致生成器选择错误。 3. **Qt 安装路径问题**:如果 Qt 的安装路径中包含空格或特殊字符,可能会导致 CMake 无法正确解析路径,从而引发此错误。 #### 解决方案 1. **确认编译器版本匹配**: - 确保在 Qt Creator 中选择的编译器版本与 CMake 配置中使用的编译器版本一致。例如,如果使用的是 MinGW 编译器,确保在 Qt Creator 的“构建套件”设置中选择了正确的 MinGW 版本(如 `MinGW 7.3.0 64-bit`)。 - 在 CMake 配置时,可以通过指定 `-G` 参数来明确选择生成器。例如,使用以下命令指定 MinGW 作为生成器: ```bash cmake -G "MinGW Makefiles" .. ``` 2. **检查环境变量**: - 确保系统环境变量中没有冲突的编译器路径。如果系统中有多个编译器版本(如多个 MinGW 或 MSVC 安装),可能会导致 CMake 选择错误编译器。 - 可以通过修改 `PATH` 环境变量,将所需的编译器路径放在前面,以确保 CMake 优先使用该编译器。 3. **验证 Qt 安装路径**: - 如果 Qt 安装路径中包含空格或特殊字符,建议将 Qt 安装到一个没有空格的路径下(如 `C:\Qt`)。这样可以避免 CMake 在解析路径时出现问题。 - 确保所有相关的 Qt 模块路径(如 `Qt5Core_DIR`、`Qt5Gui_DIR` 等)都指向正确的安装目录。例如: ```cmake set(Qt5Core_DIR "C:/Qt/Qt5.12.1/5.12.1/mingw73_64/lib/cmake/Qt5Core") set(Qt5Gui_DIR "C:/Qt/Qt5.12.1/5.12.1/mingw73_64/lib/cmake/Qt5Gui") ``` 4. **重新配置 CMake 缓存**: - 如果之前已经生成了 CMake 缓存文件,建议删除 `CMakeCache.txt` 文件并重新运行 CMake 配置。这可以确保 CMake 使用最新的配置信息生成 Makefile。 ```bash rm -f CMakeCache.txt cmake -G "MinGW Makefiles" .. ``` 5. **更新 CMake 版本**: - 确保使用的 CMake 版本与 Qt 5.12.3 兼容。较旧的 CMake 版本可能不支持某些新特性或修复的 bug,建议使用最新版本的 CMake(如 3.15 或更高)。 #### 示例代码 以下是一个简单的 CMakeLists.txt 文件示例,展示了如何正确配置 Qt 5.12.3 和 MinGW 编译器: ```cmake cmake_minimum_required(VERSION 3.15) project(MyQtProject) # 设置 Qt 模块路径 set(CMAKE_PREFIX_PATH "C:/Qt/Qt5.12.1/5.12.1/mingw73_64/lib/cmake") # 查找 Qt5 模块 find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED) # 添加可执行文件 add_executable(MyQtProject main.cpp mainwindow.cpp) # 链接 Qt 模块 target_link_libraries(MyQtProject PRIVATE Qt5::Core Qt5::Gui Qt5::Widgets) ``` 在构建项目时,确保使用正确的生成器: ```bash mkdir build cd build cmake -G "MinGW Makefiles" .. mingw32-make ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值