我正在使用 VS2019 进行构建,当选择 Platform ARM64 并检查生成的输出二进制文件时,我发现文件的类型是 x86-64 而不是预期的 ARM 类型。当我使用 gcc-arm-linux-gnueabi 进行本地编译时,我得到了预期的 ARM 类型。我在 VS2019 中的构建配置是否错误?
我遇到了类似的问题:尝试使用 Visual Studio 2022 通过 WSL2 为机器人构建 ARM64 程序。尽管您可以选择标记为 ARM64 的配置,但 Visual Studio 不会自动使用正确的工具。要解决此问题,请执行以下操作。
启动 WSL2 命令行(“开始”菜单中的“Ubuntu”)并通过键入以下内容安装交叉编译器:
sudo apt-get install g++-aarch64-linux-gnu
然后在 Visual Studio 中打开项目属性对话框并选择平台:ARM64 配置。
在C/C++下:
C Compiler = aarch64-linux-gnu-g++
C++ Compiler = aarch64-linux-gnu-g++
在链接器下:
Linker = aarch64-linux-gnu-g++
您可以通过切换到相关的 Windows 文件夹然后询问文件属性来检查生成的可执行文件。
cd /mnt/c/your_path/bin/ARM64/Release
file your_prog.out