如何解决交叉编译 arm 依赖于共享对象,仅适用于 x86-64
我在机器人通信系统工作。该系统在 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。