You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows7系统安装FMM时CMake、make、make install步骤报错求助

问题阶段1:CMake检测C++编译器失败报错

报错原因

该错误是Cygwin环境调用原生MinGW编译器导致的路径解析冲突:Cygwin的虚拟路径(如/cygdrive/e/)无法被原生MinGW的c++.exe识别,找不到测试用的cxx文件,因此报输入文件不存在的错误。

解决方案

  • 完全卸载Cygwin环境,直接使用MSYS2 + MinGW64工具链,将MSYS2的mingw64/bin路径添加到系统环境变量PATH的最顶部,避免调用到其他版本的gcc/g++
  • 编译前清空之前生成的build目录下所有缓存文件,重新执行cmake .. -G "MinGW Makefiles",指定生成器为MinGW的Makefile,不要使用Cygwin默认的Unix Makefile

问题阶段2:make编译阶段LONG_BIT错误、direct.h缺失报错

报错原因

两个错误都属于编译环境和Python依赖的架构不匹配、头文件搜索路径冲突导致的:

  1. LONG_BIT报错是因为所用编译器的架构和Anaconda的Python架构不一致,或是GDAL头文件为Cygwin版本,和MinGW工具链不兼容
  2. direct.h是Windows原生头文件,Cygwin环境下的GDAL默认没有适配该头文件,因此调用时会找不到

解决方案

  • 完全卸载Cygwin相关的GDAL、cmake依赖,改用MSYS2的mingw64源安装所有依赖:执行pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-make mingw-w64-x86_64-gdal mingw-w64-x86_64-boost mingw-w64-x86_64-swig
  • 配置环境变量,确保cmake调用的是MSYS2安装的mingw64版本的cmake,而非系统其他位置的cmake
  • 编译Python绑定时,指定Anaconda的64位Python路径:执行cmake时添加参数-DPYTHON_EXECUTABLE=E:/anaconda/python.exe -DPYTHON_INCLUDE_DIR=E:/anaconda/include -DPYTHON_LIBRARY=E:/anaconda/libs/python3x.lib(将python3x.lib替换为实际安装的Python版本对应的库文件,例如Python3.8对应python38.lib)
  • 再次清空build目录缓存,重新走cmake→mingw32-make→mingw32-make install流程,注意MSYS2 MinGW64环境下对应的编译命令是mingw32-make,不要使用make命令

内容的提问来源于stack exchange,提问作者hch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 20:09:03