首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试链接器错误(未定义的符号)

调试链接器错误(未定义的符号)
EN

Stack Overflow用户
提问于 2013-02-11 03:45:06
回答 1查看 1.8K关注 0票数 0

我正在尝试将一个可执行文件与一个名为libr的外部库链接起来。我并不是在寻找关于这个库的帮助,只是希望得到链接器错误的帮助,这个错误粘贴在下面:

代码语言:javascript
复制
undefined reference to `r_asm_new()'

好的,所以我仔细检查了我的link命令:

代码语言:javascript
复制
-lr_core -lr_config -lr_cons -lr_cmd -lr_util -lr_flags -lr_asm -lr_lib -lr_debug -lr_hash -lr_bin -lr_lang -lr_io -lr_anal -lr_parse -lr_bp -lr_egg -lr_reg -lr_search -lr_syscall -lr_sign -lr_diff -lr_socket -lr_fs -lr_magic -lr_db

它似乎包含了libr包所拥有的所有库。我使用objdump将libr_asm.so文件加倍:

代码语言:javascript
复制
$ objdump -T libr_asm.so.0.9.3git | grep r_asm_new
  00000000000ca66a g    DF .text    0000000000000149  Base        r_asm_new

因此,据我所知,-l_asm标志应该已经做到了。我将一个c库链接到一个c++可执行文件,但是我想不出这会如何改变这种情况。

谢谢。

编辑:完整链接行:

代码语言:javascript
复制
/usr/bin/c++       CMakeFiles/main.dir/main.cc.o CMakeFiles/main.dir/ElfFile.cc.o CMakeFiles/main.dir/ElfFileSection.cc.o CMakeFiles/main.dir/ElfFileDefinitions.cc.o CMakeFiles/main.dir/SectionsWindow.cc.o CMakeFiles/main.dir/SectionView.cc.o  -o main -rdynamic -L/home/chris/radare_install/lib -lboost_filesystem-mt -lboost_system-mt -lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lpangomm-1.4 -lgtk-3 -lglibmm-2.4 -lcairomm-1.0 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lsigc-2.0 -lgobject-2.0 -lglib-2.0 -lgtksourceviewmm-3.0 -lgtkmm-3.0 -lgtksourceview-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 -lr_core -lr_config -lr_cons -lr_cmd -lr_util -lr_flags -lr_lib -lr_debug -lr_hash -lr_bin -lr_lang -lr_io -lr_anal -lr_parse -lr_bp -lr_egg -lr_reg -lr_search -lr_syscall -lr_sign -lr_diff -lr_socket -lr_fs -lr_magic -lr_db -lr_asm -Wl,-rpath,/home/chris/radare_install/lib 
EN

回答 1

Stack Overflow用户

发布于 2013-02-11 04:06:54

....the对这个问题的评论提醒了我:

代码语言:javascript
复制
extern "C" {
  #include "foo.h"
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14801847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档