gpt4 book ai didi

c - 创建可执行文件时出现 undefined reference 问题

转载 作者:行者123 更新时间:2023-11-30 16:32:05 25 4
gpt4 key购买 nike

我正在尝试使用一些库创建可执行文件。我的 GCC 命令是:-

gcc -fPIC -DLINUX testdenpli /verilog/libdenpli.so -L/local/test/dir/ testpli.c 

我的库的符号位于路径“/local/test/dir/”

Error:-
libdenpli.so: undefined reference to `ktlTcl_InitStubs'
libdenpli.so: undefined reference to `ktlitclStubsPtr'

我在路径“'/local/test/dir/”处有带有上述符号的库..但仍然看到问题。

请大家帮忙。

最佳答案

错误消息表明 libdenpli.so 需要链接另一个提供符号 ktlTcl_InitStubsktlitclStubsPtr 的共享库。

使用以下命令查找提供这些符号的共享库:

for so in $(find /local/test/dir -name "*.so" -o -name "*.so.*"); do
nm --defined-only --dynamic $so 2>/dev/null | grep -q 'ktlTcl_InitStubs|ktlitclStubsPtr' && echo $so;
done

然后将该库添加到链接器命令行中:

gcc -Wall -Wextra -fPIC -DLINUX -o testdenpli testpli.c /verilog/libdenpli.so <full-path-to-found-library>

关于c - 创建可执行文件时出现 undefined reference 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50293404/

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