安装mingw 版 cmake

CMake 是 "包工头",MinGW-w64 是 "施工队" ,Windows 下做 C/C++ 开发(尤其开源项目),两者都得装,所以我们直接下一个终端都装上。

最难绷的一集:机器人 SDK 库文件(.lib)是用 MSVC(Visual Studio)编译的,它不能和 MinGW 编译器链接。

首先去掉中文路径:D:\RobotConSys_SDK\RobotConSys_SDK\example\build

1.下载一个MSYS2 MSYS 终端

https://mirrors.tuna.tsinghua.edu.cn/msys2/distrib/msys2-x86_64-latest.exe

2.添加全局环境变量,不只是在MSYS2里面能搜到

以【管理员】打开 PowerShell

安装最新的 PowerShell,了解新功能和改进!https://aka.ms/PSWindows

加载个人及系统配置文件用了 4385 毫秒。

(base) PS $newPath = "E:\msys64\mingw64\bin"

(base) PS $sysPath = Environment::GetEnvironmentVariable("Path", "Machine")

(base) PS if (sysPath -notcontains newPath) {

>> Environment::SetEnvironmentVariable("Path", "sysPath;newPath", "Machine")

>> Write-Host "✅ 已成功添加到系统全局Path"

>> } else {

>> Write-Host "⚠️ 路径已存在,无需重复添加"

3.替换镜像源,提速

打开E:\msys64\etc\pacman.d\原版里有很多国外镜像,在国内访问速度极慢,甚至会超时。

(可以不用,先裸装、不改源)

4.安装

pacman -S --needed base-devel mingw-w64-x86_64-toolchain --disable-download-timeout

pacman -S mingw-w64-x86_64-cmake
5.下载c++版本的opencv

conda 装的 OpenCV 是 MSVC 编译的,我们用的是 MinGW

Releases · huihut/OpenCV-MinGW-Build

6.测试

生成的 Makefile 是 Linux 版本的,不能直接在 VSCode 里右键左边的 build 文件夹 → 选 "在集成终端中打开",运行mingw32-make,所以把整个 build 文件夹 彻底删掉!

我们直接 CMake 版本太新了,而智能车 SDK 写得比较早,所以要限制版本:-DCMAKE_POLICY_VERSION_MINIMUM=3.5

因此输入如下即可:

cmake .. -G "MinGW Makefiles" -DTARGET_PLATFORM=win_x64 -DCMAKE_POLICY_VERSION_MINIMUM="3.5" -DOpenCV_DIR="D:/OpenCV-MinGW-Build-OpenCV-4.5.5-x64"

相关推荐
音草6 小时前
Linux 基础指令入门:常用命令、Shell 原理与权限管理
linux
aosky6 小时前
Linux 写内容到文件的几种方式
java·linux·服务器
吴声子夜歌7 小时前
Shell编程——函数
linux·运维·shell
码少女8 小时前
Linux——多路复用之poll模型
linux·服务器·网络
PatrickYao04228 小时前
Linux安装UV
linux·运维·uv
顶点多余8 小时前
面试题总结 ---Linux篇
linux·运维·服务器
T1mzhou8 小时前
ARM64 Linux 6.10 内核驱动(14):drivers/base/platform.c:板级设备主战场
linux·c语言·开发语言·arm开发
微露清风9 小时前
Linux 虚拟地址空间:一道屏障、一张地图、一场延迟兑现的博弈
linux·服务器
zx_741484819 小时前
【Linux入门】Shell 与第一个 Shell 脚本:认识命令行解释器,写出 Hello World
linux·运维
朽棘不雕10 小时前
动态库的理解
linux