提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、使用mingw

下载并安装mingw,这一步略过。安装后打开MSYS2 MINGW64

二、环境处理

1.安装开发环境

代码如下(示例):

pacman -Syu
pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake git

2.安装MATFP依赖

代码如下(示例):

pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake git

三、cmakelist处理

matfp\extern\geogram\cmake\platforms文件夹下,将Win64-gcc.cmake复制一份替换Windows-vs.cmake

新建build文件夹,在build文件夹下增加my_gcc.bat文件,文件内容如下:

@echo off
setlocal enabledelayedexpansion

:: 1. 获取 CMake 传给 C 编译器的所有参数
set "args=%*"

:: 2. 精准擦除导致 C 编译器报错的 /wd4251 字符串
set "args=!args:/wd4251=!"
set "args=!args:/wd"4251"=!"

:: 3. 调用真正的 MinGW gcc.exe 执行 C 语言编译
"D:\msys64\mingw64\bin\gcc.exe" !args!

注意:最后一行改为你自己的gcc.exe路径

在build文件夹下增加my_g++.bat文件,文件内容如下:

@echo off
setlocal enabledelayedexpansion

:: 1. 获取 CMake 传过来的所有编译参数
set "args=%*"

:: 2. 精准擦除导致报错的 /wd4251 字符串
set "args=!args:/wd4251=!"
set "args=!args:/wd"4251"=!"

:: 3. 调用真正的 MinGW g++.exe 执行编译
"D:\msys64\mingw64\bin\g++.exe" !args!

注意:最后一行改为你自己的g++.exe路径

在build文件夹下执行如下指令:

cmake -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DGEOGRAM_WITH_MSVC=OFF -DCMAKE_C_COMPILER="/e/OpenSourceCode/MATFP/matfp/build/my_gcc.bat" -DCMAKE_CXX_COMPILER="/e/OpenSourceCode/MATFP/matfp/build/my_g++.bat" -DBUILD_SHARED_LIBS=ON ..

注意:如果不想让MATFP作为一个库,-DBUILD_SHARED_LIBS=ON这个去掉
执行如下指令编译:

mingw32-make

其它

如果是cmakelist相关的编译错误,执行如下指令清楚,避免重新下载依赖

rm -rf CMakeCache.txt CMakeFiles build.ninja rules.ninja cmake_install.cmake .cmake

更多推荐