安装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"

相关推荐
为思念酝酿的痛2 小时前
POSIX信号量
linux·运维·服务器·后端
人还是要有梦想的4 小时前
linux下用搜狗输入法,中英文切换
linux·运维·服务器
bush44 小时前
嵌入式linux学习记录二
linux·运维·学习
9分钟带帽4 小时前
linux_通过NFS挂载远程服务器的硬盘
linux·服务器
运维栈记7 小时前
API Error: 400 Request body format invalid
linux·ai
小白兔奶糖ovo7 小时前
【Leetcode】231. 2的幂
linux·算法·leetcode
s_w.h7 小时前
【 linux 】动静态库的制作
linux·运维·服务器·算法·bash
顺风尿一寸8 小时前
深入Linux内核:mkdir系统调用的完整实现解析
linux
用户2367829801688 小时前
Linux free 命令深度解析:从内存监控到 OOM 排查的完整指南
linux
无足鸟ICT8 小时前
【RHCA+】boxes命令(艺术框)
linux