【发布时间】:2017-06-07 14:44:58
【问题描述】:
我在 Debian VM 上使用 Eclipse 进行编码,并为 Raspberry Pi Zero 进行交叉编译。我想使用 mraa 库,但经过数小时的努力,我仍然无法使其工作。 - 在目标(Raspi 零)上,我可以使用 CMake 在本地编译 mraa,只需按照作者的说明进行操作。当我在本地玩 c++ 示例时,它可以完美运行。 - 在主机上,我从目标复制了 *.so 文件,但交叉编译器不喜欢它(未定义的引用错误)。在 Eclipse 设置中,我将头目录添加到包含路径,将共享 lib 目录添加到库搜索路径 (-L),并添加了 -lmraa 标志。
我做错了什么?我应该使用 CMake 在主机上编译 MRAA 吗?如果是这样,我如何使用 CMake 定义我的交叉编译器?
【问题讨论】:
-
but the cross-compiler is not liking it (undefined reference errors)。 未定义的引用表示链接器已找到为其指定的所有库,但这些库中没有一个包含所需的符号。请edit您的问题并在其中添加精确的错误消息。 -
请注意,链接器并不关心它被调用的原因。
cmake可以很方便,但不能变魔术。
标签: c++ eclipse cmake cross-compiling