WhyCan Forum(哇酷开发者社区)

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn

您尚未登录。

#1 2020-11-03 19:57:11

达克罗德
会员
注册时间: 2018-04-10
累计积分: 966

链接一个库诡异链接失败,库明明存在

编译一个APP时,链接出错:
/usr/bin/ld: out/obj/keyboard.o: in function `keyboard_state_get_plain_codepoint':
/mnt/flutter/src/keyboard.c:365: undefined reference to `xkb_state_key_get_utf32'

我的链接命令:
cc -I./include -I/usr/include/libdrm -DBUILD_TEXT_INPUT_PLUGIN -DBUILD_TEST_PLUGIN -O0 -ggdb  -lgbm -ldrm -lGLESv2 -lEGL -lsystemd -linput -ludev -lxkbcommon -lrt -lpthread -ldl -lm -L/usr/lib/arm-linux-gnueabihf

明明libxkbcommon.so里有这个函数:

nm -D /usr/lib/arm-linux-gnueabihf/libxkbcommon.so

...
00014c5c T xkb_state_key_get_utf32@@V_0.5.0
..


而且不光是这个函数,所有动态链接的函数都找不到。

我是在qemu-user-static模式下编译的,不知道和这个有关吗

离线

#2 2020-11-08 00:28:47

达克罗德
会员
注册时间: 2018-04-10
累计积分: 966

Re: 链接一个库诡异链接失败,库明明存在

原来-l需要放到object之后
有个文章专门解释了这个问题
https://stackoverflow.com/a/43305704/388520

结贴

离线

#3 2020-11-08 07:39:11

孤星泪
会员
注册时间: 2020-03-18
累计积分: 201

Re: 链接一个库诡异链接失败,库明明存在

马后炮一下,其实我也遇到过,最后实在没有办法,确实换一下链接库的位置就好了,一直傻傻的认为是gcc的bug

离线

#4 2020-11-08 21:10:38

微凉VeiLiang
会员
注册时间: 2018-10-28
累计积分: 385
个人网站

Re: 链接一个库诡异链接失败,库明明存在

链接好像是有先后顺序的

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB