![Synergy 可以在 ARM 平台上交叉编译吗?](https://linux22.com/image/1323902/Synergy%20%E5%8F%AF%E4%BB%A5%E5%9C%A8%20ARM%20%E5%B9%B3%E5%8F%B0%E4%B8%8A%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91%E5%90%97%EF%BC%9F.png)
我正在尝试编译 Synergy 客户端,以便可以在 WindRiver Linux 环境中使用它。我尝试编译,但一直收到此错误:
CMake Error at CMakeLists.txt:195 (message): Missing header: X11/XKBlib.h
然而我甚至不知道是否可以在 ARM 平台上交叉编译 Synergy。
答案1
只需进行一些修复,Synergy 便可在 PI 平台上顺利构建。对于该错误,您需要安装 libx11-dev 包,在安装包时,您还可能需要安装 libxtst-dev 和 cmake 包。
然后在编辑器中打开 CMakeLists.txt 文件并搜索 X11,您最终应该找到以下行:set(CMAKE_INCLUDE_PATH "${CMAKE_INCLUDE_PATH}:/usr/local/include"),您需要将此行更改为以下内容:set(CMAKE_INCLUDE_PATH "${CMAKE_INCLUDE_PATH}:/usr/include")。
现在,如果您运行./configure,它应该可以正常工作。如果您仍然收到相同的错误,您将需要移动、复制、删除缓存文件 CMakeCache.txt。
从那里开始你应该就可以开始了。这是我从这篇文章中找到的所有信息http://www.rootusers.com/compiling-synergy-from-source-on-the-raspberry-pi/
答案2
Synergy 应该可以在 ARM 上运行(它在Raspberry Pi 存储库。
看起来您需要 xorg dev 头文件。
我不确定 Wind River Linux 是否如此,但在基于 Debian 的发行版中,软件包名称是 libx11-dev。由于它只是一个头文件,在最坏的情况下,您可以从源代码中获取它,将它放在编译器可以拾取的地方,它应该可以工作(尽管您可能需要进行更多更改)。