用于 ARM 架构的 Libcurl

Libcurl for ARM architecture

我在 Windows 7 上交叉编译,我使用这个编译器:

gcc-linaro-arm-linux-gnueabihf-4.7-2013.03\bin\arm-linux-gnueabihf-g++.exe

我想对某些 HTTP 请求使用 libcurl,但是当我 link 使用 -libcurl 时,我收到一条臭名昭著的消息,即 link 用户找不到该库。我尝试在 Internet 上搜索此架构 (ARMHF) 的正确库,但我找不到任何东西。或者也许我确实找到了它,但我做错了?我的 linking 电话很长,但在这里:

这是行之有效的方法,如果我添加 -libcurl 或任何相关内容,它就会崩溃...

C:\vde\toolchains\windows\vos2\gcc-linaro-arm-linux-gnueabihf-4.7-2013.03\bin\arm-linux-gnueabihf-g++.exe -o out\RefApp -Wl,-rpath=C:\vde\SDKs\vos2\vos2-sdk-winx86-release-31010800\vos2\usr\lib -Wl,-r
path=C:\vde\SDKs\vos2\vos2-sdk-winx86-release-31010800\vos2\usr\local\lib -Wl,-rpath=C:\vde\SDKs\vos2\vos2-sdk-winx86-release-31010800\vos2\lib -Wl,-rpath=C:\vde\SDKs\vos2\vos2-sdk-winx86-release-3101
0800\vos2\usr\local\lib\svcmgr C:\desarrollo\corvet\out\corvet.a -LC:\desarrollo\RefApp\lib -LC:\vde\SDKs\vos2\vos2-sdk-winx86-release-31010800\vos2\usr\local\lib -LC:\vde\SDKs\vos2\vos2-sdk-winx86-re
lease-31010800\vos2\lib -LC:\vde\SDKs\vos2\vos2-sdk-winx86-release-31010800\vos2\usr\local\lib\svcmgr  -LC:\vde\ADKs\adk-full-4.6.5-610\vos2\lib -L -LC:\desarrollo\corvet\out -lrt -llog -lvfiguiprt -l
vfiipc -lTLV_Util -lpthread -lvfiplatforminfo -lsvc_utility -lvfibuzzer -lsvc_powermngt -lsvc_led -lvfisysinfo -lvfisysbar -lsqlite -lexpat -linf -lcom -levt -ltecclient -lmsrclient -lEMV_CT_Link -lEM
V_CT_Client -lEMV_CTLS_Link -lEMV_CTLS_Client -lNFC_Framework -lNFC_Client -lsvc_tms -lUtils -lseccmd-static -lsvc_sound -lccp -lcrypto -lsec -lseccmd-static -lsecins -lvfisvc -lvfisyspm -lvfimac -lvf
isec -lAdkCapX

我还尝试下载我在 debian 页面上找到的一些 libcurl 库,这些库应该用于 ARMHF,将它们放在某个文件夹中并使用 -L(routetofolder) 但这也不起作用。

希望大家能帮帮我。

谢谢!

好吧,libcurl 就在您从供应商那里得到的东西中(如果您查看 /usr/lib,您会在那里找到它)。你的链接有问题。

您可能想尝试查看在 linux 系统上如何在链接时以及稍后在运行时解析动态库依赖关系。它还将帮助您了解 vos2 平台上可能发生的情况,当您尝试使用自己的动态库时,这些动态库可能具有名称冲突,并且链接器可以将它们解析为存在于同一设备上但位于您可能无权访问的位置的内容读取,因为它属于不同的usrXX或sysXX。

从设备读取 /etc/ld.so.conf 将帮助您了解动态链接器执行的位置和搜索顺序。您可以从设备中获取文件,或者直接在 OS.rfsbundle 中找到它(查看 skeletonfs)并正确设置您的链接选项。我认为它通常不会由供应商与 sysroot 一起分发,但您可以手动添加它。