与使用名称空间的外部库链接时,如何解决C中的未定义引用?

尼基尔

我将程序链接到外部静态库。

这是我看到的许多错误之一:

undefined reference to `tcp_outratectl_tmofactor'

这在外部库c文件中定义为:

int tcp_outratectl_tmofactor = 1;

如图所示,这在我的程序中使用:

/* This is just a snippet */
extern int tcp_outratectl_timerticks;
if (count) {
    tcp_outratectl_timerticks = *count;
}

我从库中提取了目标文件,并试图寻找符号

$ nm -A ./*.o | grep tcp_outratectl_timerticks
./tcp_timer.o:0000000000000018 B rumpns_tcp_outratectl_timerticks
./tcp_usrreq.o:                 U rumpns_tcp_outratectl_timerticks

如您所见,tcp_outratectl_tmofactor是一个全局BSS符号,但是它的前缀是“ rumpns_”,这会导致链接器错误。

我该如何解决?

尼基尔

我正在使用的外部库在其名称空间尚未包含的符号后面添加了“ rumpns_”。

修改makefile以删除此行为对我有用

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何解决共享库中未定义的引用?

使用uclibc时如何解决对fenv.h中函数的未定义引用?

在C ++中链接静态库时对...的未定义引用

在Windows上链接到libjpeg时如何解决“未定义的引用”?

C ++如何解决标头中未定义的名称空间?

用C编译时如何解决“未定义引用”?

在C ++的标头中使用名称空间时对错误的未定义引用

使用ajax时如何解决未定义索引?

什么是未定义的引用/未解决的外部符号错误,如何解决?

使用自定义库运行机器人框架测试用例时,如何解决“ NameError:未定义全局名称'x'”错误?

如何解决C中的未定义结构?

使用带有外部 C++ 库的 Rcpp 构建 R 包时未定义的引用

如何解决使用ViewChild ElementRef时无法读取angular中未定义的属性'nativeElement'

当有许多外部定义的函数时,如何解决未定义函数的JSHint警告

在C ++中使用库时出现“未定义的引用”

如何解决“未定义的引用错误”?

如何解决“ NameError:名称'model'未定义”错误?

如何解决“ NameError名称'changePlaying'未定义

如何解决未定义的名称错误?

如何解决“名称'bot'未定义”错误?

如何解决Android NDK中的“对'ntohl'的未定义引用”编译错误?

如何解决对自己的 C++ 成员函数的未定义引用?

链接库头时对...的未定义引用

如何解决ErrorException:未定义的索引:laravel中的数据库?

解决gcc中未定义的参考库链接错误

将C ++程序与Fortran库链接时对_rpoly_的未定义引用

使用makefile与带有OTL的静态库链接时未定义的引用

外部库中对“SDL_Init”的未定义引用

从https请求中获取响应数据时,如何解决未定义的数据?