首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >交叉编译Phidget库arm

交叉编译Phidget库arm
EN

Stack Overflow用户
提问于 2020-11-27 23:00:56
回答 1查看 63关注 0票数 0

我正在尝试交叉编译一些C代码,以便在Phidget SBS4 - 3003上执行它。我已经成功地交叉编译了一个简单的.C文件(printf("hello world");),并使用arm-linux-gnueabihf-gcc工具链在单板机上执行它进行交叉编译。

现在,我正在努力使用phidget库交叉编译代码。我正在尝试./configure --prefix=/usr/arm-linux-gnueabihf --build=i686-pc-linux-gnu --host=arm-linux-gnueabihf as here,但是我得到了一个错误:

configure: error: Missing libusb!我已经安装了libusb-1.0-0-dev。

我该怎么做?非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2020-12-01 03:33:12

有两种可能性。第一个问题是libusb编译问题。你的机器上真的有arm-none-linux-gnueabihf和arm-linux-gnueabihf吗?如果您没有第一个,请使用--host=arm-none-linux-gnueabihf构建libusb。尽管很奇怪,但您将构建一个x86库。如果您构建的库真的是用于arm的,您可以使用readelf -h或任何其他您想要的工具进行检查。

第二个可能性是库的位置,你选择了/usr/arm-linux-gnueabihf/作为前缀,但是你怎么确定/usr/arm-linux-gnueabihf/lib会在gcc传递给链接器的路径列表中(在ubuntu 18.04中就是这样)。当您链接一个简单的c文件时,您可以通过添加-v来验证哪些文件夹被传递给链接器。您需要在其中一个文件夹中安装libusb,因为不幸的是,在phidget库的配置中,没有像libusb_path这样的选项。您还可以修改配置。

如果您在特定于arm的文件夹中安装libusb的良好版本,则不会有任何问题。但是,如果在arm文件夹中安装x86库,或者反之亦然,则会出现ld错误file format not recognized

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65039478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档