gpt4 book ai didi

linux - 使用开源 libFTDI 编译程序

转载 作者:太空宇宙 更新时间:2023-11-04 12:42:18 28 4
gpt4 key购买 nike

我使用安装了 Advanced Tomato 的华硕路由器(基于 ARMv7 proc)在它上面作为我的 ARMv7 开发者平台。我安装编译器 (gcc - 5.4.0-1)加上来自 OpenWRT Linux 的依赖项和 libFTDI (libftdi1 - 1.3-1) repo 。 OpenWRT 不提供 libftdi-dev 所以我直接从 libFTDI 下载页面复制 ftdi.h 文件到/opt/include。我尝试编译直接从 libFTDI 示例中获取的程序。这编译器命令是:

gcc -v -Wl,-rpath=/opt/usr/local/lib -Wl,--dynamic-linker=/opt/lib/ld-linux.so.3 -L/opt/lib -O2 -pipe -march=armv7-a -mtune=cortex-a9-fno-caller-saves -mfloat-abi=soft -l ftdi1 d.c -o d

但是编译失败是因为:

/opt/bin/ld: cannot find -lftdi1

但是有 /opt/usr/local/lib/libftdi1.so 链接到 libftdi1.so.2

我的 LD_LIBRARY_PATH 如下所示:

/lib:/usr/lib:/usr/local/lib:/opt/lib:/opt/usr/lib:/opt/include:/opt/usr/local/lib:/opt/usr/include

那么问题是什么?

最佳答案

我不知道为什么(可能是错误)但是对于从 OpenWRT 存储库中获取的编译器,必须在 /opt/lib 中需要库。所以只需复制 libftdi1.so.2.3.0 文件并将其链接到 libftdi1.so 即可解决问题。这意味着它没有正确使用 LD_LIBRARY_PATH 变量。最后编译命令如下所示:

gcc -v -Wl,-rpath=/opt/usr/local/lib -Wl,--dynamic-linker=/opt/lib/ld-linux.so.3 -L/opt/lib -O2 -pipe -march=armv7-a -mtune=cortex-a9 -fno-caller-saves -mfloat-abi=soft -l ftdi1 arco.c -o arco

从我的角度来看-主题关闭

关于linux - 使用开源 libFTDI 编译程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39806757/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com