gpt4 book ai didi

c++ - Sysgcc : ld. exe 找不到-lcurl -ljsoncpp

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

我正在 Raspberry Pi 2 Model B 上开展一个项目。我开始直接在 Pi 上编码和编译,现在我想在 Windows 7 PC 上工作。我已经安装了 SysGCC 交叉编译器并设法编译了一个简单的 Hello-World 程序。问题是,对于我的项目,我使用 curl 和 jsoncpp。我在 Raspberry 上本地编译它没有问题,但 Windows 上的交叉编译器给我以下错误:

c:/sysgcc/raspberry/bin/../lib/gcc/arm-linux-gnueabihf/6/../../../../arm-linux-gnueabihf/bin/ld.exe: cannot find -lcurl
c:/sysgcc/raspberry/bin/../lib/gcc/arm-linux-gnueabihf/6/../../../../arm-linux-gnueabihf/bin/ld.exe: cannot find -ljsoncpp

我不使用 makefile 左右,因为我从来没有真正使用过它,在 raspi 上它用这个命令工作得很好:

g++ ../src/rpi/main.cpp ../src/rpi/connection.cpp ../src/rpi/jsonparser.cpp ../src/rpi/idchecker.cpp ../src/rpi/eventoperator.cpp -o ../bin/main -lcurl -ljsoncpp

在 Windows 系统上,我尝试使用如下命令:

arm-linux-gnueabihf-g++.exe -std=c++11 ../src/rpi/main.cpp ../src/rpi/connection.cpp ../src/rpi/jsonparser.cpp ../src/rpi/idchecker.cpp ../src/rpi/eventoperator.cpp -o ../bin/main -L"C:/SysGCC/raspberry/arm-linux-gnueabihf/sysroot/usr/include/jsoncpp/json/" -L"C:/SysGCC/raspberry/arm-linux-gnueabihf/sysroot/usr/include/arm-linux-gnueabihf/curl/" -lcurl -ljsoncpp

所以我读到我必须告诉编译器/链接器库在哪里,但我真的不明白为什么,因为它在没有 Raspi 上的 -L 标志的情况下工作得很好。我想我把这些库放在了与 Raspi 相同的文件夹中,所以我不明白为什么找不到它们。我希望有人能帮助我或给我一些关于这些东西如何工作的简短基本解释,因为我没有找到任何工作教程或其他有用的问题来解决我的问题。

最佳答案

在 raspberry-pi 上,库最有可能从系统目录链接,如 /usr/lib/usr/local/lib。在 Windows 上,您需要使用 -L 标志指定正确的路径。

关于c++ - Sysgcc : ld. exe 找不到-lcurl -ljsoncpp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48932363/

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