求助 protobuf 库链接问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
dy416394356y78
V2EX    Linux

求助 protobuf 库链接问题

  •  
  •   dy416394356y78 2024-03-02 16:03:35 +08:00 1648 次点击
    这是一个创建于 651 天前的主题,其中的信息可能已经有所发展或是发生改变。
    同样的项目,在另一台电脑上每次编译都失败,报这个错误

    /usr/local/toolchain/R16/bin/../lib/gcc/arm-openwrt-linux-muslgnueabi/5.2.0/../../../../arm-openwrt-linux-muslgnueabi/bin/ld: cannot find -llibprotobuf.so.3.19.1.0
    collect2: error: ld returned 1 exit status

    查下来都说是库或者软链接的问题,但是我修改了软链接也重新安装了库都没用,由于我是交叉编译的,我可以确定不需要更改我的工具链,因为电脑 A 中的工具链打包下来解压在电脑 B 上的,但是在 A 上可以编译过,B 上不行

    跪求各位大佬,已经困扰两天了,查了不少资料都没说到点子上
    4 条回复    2024-03-04 10:17:40 +08:00
    flax5a98aa2
        1
    flax5a98aa2  
       2024-03-02 16:37:23 +08:00
    你安装 protobuf 版本正确吗?如果你的发行版比较老,从包管理器安装的版本也会比较老,这个时候需要自己编译安装对应版本的 protobuf 。

    如果你确定版本没有问题,也将 protobuf 安装到了某个目录,但是编译时仍然找不到 protobuf ,可能需要手动跑一下 ldconfig 。按照 https://man7.org/linux/man-pages/man8/ldconfig.8.html 的说法,ldconfig 会检查 /etc/ld.so.conf ,在我这边( debian )写的是 include /etc/ld.so.conf.d/*.conf ,然后你可以看看这些文件里面写的搜索路径,比较典型的是 glibc 的 /usr/local/lib 。如果你在这些路径里面都看不到你安装的 protobuf 的库路径,就自己照着写个配置文件,将你的路径包含进去,再跑 ldconfig 。
    dy416394356y78
        2
    dy416394356y78  
    OP
       2024-03-02 17:15:21 +08:00
    我的 protobuf 项目使用的版本是 3.19.1.0 ,能确定是版本对的,因为这些三方库我们都是另建仓库保存的,我试试大佬说的这个办法,不过我们用的是 ubuntu 的
    tangtang369
        3
    tangtang369  
       2024-03-02 17:41:27 +08:00
    交叉编译的时候把 install 目录设置到 /usr/lib 不要真的 install 编译完把库放 /usr/lib
    dy416394356y78
        4
    dy416394356y78  
    OP
       2024-03-04 10:17:40 +08:00
    @tangtang369 但是我用自己的工具链编译,他也会在系统的/usr/lib 里面找库吗,因为在我的另一台电脑中/usr/lib 下并没有 protobuf 库,仍可以编译通过
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2643 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 14:52 PVG 22:52 LAX 06:52 JFK 09:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86