我在机器人通信系统工作。该系统在 Ubuntu 上运行。为了获得有效的通信,我需要安装一个 debian 包,该包安装了一个带有共享对象的库。 我想让它在 ARM 设备上工作。我无法在 ARM 设备上安装 debian-package。我正在考虑尝试交叉编译二进制文件。问题在于它依赖于 x86-64 的二进制文件。有没有办法让可执行文件在 ARM 设备上运行?
为了编译,我使用了一个像这样(没有交叉编译)的 cmake 文件:
cmake_minimum_required(VERSION 2.8)
project(dummy_service)
find_package(XXX)
include_directories(${XXX_INCLUDE_DIR})
link_directories(${XXX_LIBRARY_DIR})
XXX_message_library(
TARGET XXX_messages
DIRECTORY msg
STATIC)
add_executable(dummy_service src/dummy_service.c++)
target_link_libraries(dummy_service ${XXX_LIBRARY} dummy_messages)
由于XXX图书馆不属于我们公司所有,也不是公开的,所以我不能谈论它,但如果你有任何问题,我可以回答。 debian 包包括以下对象:
-bin
--xxx-gen
--xxx-core
--xxx-master
-include
--headerfiles
---xxx.h
---types.h
---internal
----utilities.h
----descriptors.h
----logging.h
----master.h
----service.h
-lib
--libxxx.so
--cmake
---.cmake files