在x86架构下编写运行的程序如何交叉编译到arm架构下运行

用VS写了一份C++程序,原本是运行在x86架构的Windows系统上的,现在想让这个程序在arm64架构的linux系统上跑起来,硬件平台是瑞芯微的RK356x系列。

我认为理论上的思路是:去掉程序中的界面部分,因为控件依赖Windows环境和各种库,仅保留程序中用纯C++写的核心代码,也就是一堆.c、.h、.cpp这些,放到linux系统中(虚拟机Ubuntu)做交叉编译,编译器应该就是用aarch64-linux-gun-gcc/g++这些,生成可以在arm架构下运行的程序。

现在不知道怎么入手,不知道VS有没有像QT一样简单粗暴的跨平台编译方法,诸如我在Ubuntu下个vscode添加交叉编译环境直接编这种,还是说我真的需要在linux下自己写Makefile来编吗?

我想象中比较理想的方式是把VS的编译环境配置好,把工程拷贝过来然后直接编,不知道有没有这种方式。有无同仁做过类似的操作,希望能指导一下。

你把这项目移到.net平台,然后在linux上安装.net环境,这样更容易, 比你现在的思路少很多屁事