1.编译环境配置

2.交叉编译工具链安装
具体可以查一下,g++
bash
gcc
更新软件包列表:
bash
sudo apt update
安装 GCC 交叉编译器 (C语言):
bash
sudo apt install gcc-aarch64-linux-gnu
安装 G++ 交叉编译器 (C++语言):
bash
sudo apt install g++-aarch64-linux-gnu
bash
cq@cq-desktop:~$ aarch64-linux-gnu-gcc --version
aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
cq@cq-desktop:~$ aarch64-linux-gnu-g++ --version
aarch64-linux-gnu-g++ (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
3.头文件修改
进行系统判定,移除 Windows 特有的关键字;

go
// Linux 兼容性:移除 Windows 特有的关键字
#ifdef __linux__
#define __declspec(x)
#define _stdcall
#endif
#ifndef DLLAPI_EX
#define DLLAPI __declspec(dllexport) // export DLL information
#else
#define DLLAPI __declspec(dllimport) // import DLL information
#endif
#ifdef __cplusplus
extern "C"
{
#endif
4,so文件修改正确
在so文件名前必须要加lib,必须保证为arm64架构
5.总结,交叉编译成功

我发现linux环境下会更加的严谨,一些细微的错误都能发现,这就是为什么Linux系统稳定的原因吧,比如程序中的大小写错误,win10环境下竟然没发现