- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在 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/
我设置了this我的 Windows 机器上的 Pi 工具链 (raspberry-gcc4.6.3-nosysroot.exe),然后我按照说明操作 here同步我的 sysroot。 我在项目中使
我正在 Raspberry Pi 2 Model B 上开展一个项目。我开始直接在 Pi 上编码和编译,现在我想在 Windows 7 PC 上工作。我已经安装了 SysGCC 交叉编译器并设法编译了
我是一名优秀的程序员,十分优秀!