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

相关推荐
Nebula嵌入式3 小时前
【C语言】09-深入解析main函数
linux·c语言·开发语言·嵌入式
Dxy12393102164 小时前
Linux 编译安装 Python 3.12.10(多版本共存,不破坏系统Python)
linux·运维·python
xz驱动分享5 小时前
Linux DMA 子系统学习笔记
linux·dma·rk3588·嵌入式软件
w67820076 小时前
Prisma不能优雅的支持DTO,试试Vona ORM吧
linux·运维·ubuntu
Darkwanderor6 小时前
Linux系统编程实战项目:模拟实现shell
linux·c++
杨某不才8 小时前
如何能让Linux服务器对shell 终端 + sftp 文件传输长期保活
linux·运维·服务器
vance048 小时前
免费Cloudflare隧道隐藏公网IP
linux·tcp/ip·github
杨云龙UP8 小时前
生产环境Oracle表空间扩容实战:使用Toad for Oracle图形界面新增Datafile(ASM+OMF)
linux·运维·数据库·oracle·表空间·asm 存储管理·toad
三言老师9 小时前
文本工具组合统计服务器日志数据
linux·运维·服务器
mounter62510 小时前
认识 Tetragon:基于 eBPF 的安全监控与强制执行工具
linux·ebpf·cve·kernel