我可以使用 raspberryPI 5 的 gcc 在 Windows 上以 Linux(Raspberry OS)为目标交叉编译 hello world 程序(https://gnutoolchains.com/raspberry/)。它在 PI 目标上运行一切正常。
但是我无法对 SDL2(简单 DirectMedia Layer)库的源代码执行相同的操作。
我尝试使用相同的过程在我的 Windows 计算机上编译 SDL2 源(目的是在 PI 目标上使用它们)。然而,我发现构建 SDL2 的所有示例都使用 Linux 环境,使用 Cmake 和工具(批处理文件?)“配置”。我可以在 Windows 上使用 Cmake,但它不知道“配置”。我还考虑过将 RaspberryPI 上已安装的 SDL2 库(它们已经安装,开箱即用)从 RapberryPI 复制到我的 Windows 计算机,并在链接过程中使用它,但这会造成版本噩梦,我也不这样做无论如何都不知道这是否可能。
我以这种方式构建 SDL2 库的方向是否正确,或者我应该考虑将 SDL2 从 Windows 编译到 Linux 的可能性为“不支持”?我已经尝试使用 Eclipse 编译源代码,但我无法找出正确的编译器选项和符号 (-D) 来使其适用于我的 PI5 目标。
我知道从技术角度来看是可以的,但不知道从配置角度看是否可行。
我通过使用 RaspberryPI 作为构建服务器从头开始构建 SDL2 库来解决这个问题。通过使用 https://www.libsdl.org/ 提供的 make 和 ./configure。然后,我将生成的库和包含文件复制到我的 Windows 计算机,在 Eclipse CDT 中使用它们来交叉编译我的应用程序源并与 SDL 库链接。
因此,我通过在 Linux 上构建而不是在 Windows 计算机上对所有 SDL 源进行 X 编译来“作弊”了一点。但我对结果很满意。