astianchen 2023-02-20 23:00 采纳率: 0%
浏览 25

windows下使用qnx交叉编译工具编译protobuf库报错

因为我需要在qnx系统中使用libprotobuf.so,我使用了qnx交叉编译工具在windows环境下进行编译,但是在编译进行到“link”时,编译器给我报了如下错误:

D:\qnx700_nx4c\host\win64\x86_64\usr\bin\aarch64-unknown-nto-qnx7.0.0-ld: cannot find CMakeFiles/libprotobuf.dir/E_/QNX/protobuf-3.19.: Invalid argumentbuf/wrappers.pb.cc.o
cc: D:/qnx700_nx4c/host/win64/x86_64/usr/bin/aarch64-unknown-nto-qnx7.0.0-ld caught signal 1
CMakeFiles/libprotobuf.dir/build.make:1440: recipe for target 'libprotobufd.so.3.19.4.0' failed
make[2]: *** [libprotobufd.so.3.19.4.0] Error 1
CMakeFiles/Makefile2:110: recipe for target 'CMakeFiles/libprotobuf.dir/all' failed
make[1]: *** [CMakeFiles/libprotobuf.dir/all] Error 2
Makefile:135: recipe for target 'all' failed
make: *** [all] Error 2

我使用的是protobuf-3.19.4版本的源码,可以告诉我,这是什么原因吗,这个有解决办法吗?

  • 写回答

2条回答 默认 最新

  • 菜鸟才能学的更多 2023-02-20 23:20
    关注

    根据错误信息来看,编译器在链接时找不到名为E_/QNX/protobuf-3.19.的文件或目录,因此导致链接失败。

    这种问题通常是因为你在编译时指定了错误的文件路径或库路径。你可以检查你的编译器命令行参数,确保正确地指定了protobuf库的路径。

    如果你使用的是CMake来构建protobuf库,你可以在CMakeLists.txt文件中设置protobuf库的路径,例如:

    set(PROTOBUF_LIB_DIR /path/to/protobuf/lib)
    link_directories(${PROTOBUF_LIB_DIR})
    target_link_libraries(your_program protobuf)
    

    如果仍然无法解决问题,你可以尝试在编译时增加-v参数以获取更详细的链接信息,帮助你更好地理解和解决问题。

    gcc -v your_program.c -o your_program
    
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 2月20日

悬赏问题

  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价