编译别人代码出现 undefined reference to XXX

H_olic 2014-06-30 09:13:42

C++访问sqlite3的初体验 - 蛋疼先生的手札 - ITeye技术网站
http://shansun123.iteye.com/blog/365311

里面的那大段

我建立一个console 项目,把“蛋疼先生”这段代码丢进去,并把sqlite3.h 添加到项目里,结果还是提示undefined reference to XXX。(#include "sqlite3.h" 不报错,说明我的确包含了这个头文件不是吗)
...全文
421 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2014-07-02
  • 打赏
  • 举报
回复
引用 5 楼 H_olic 的回复:
[quote=引用 4 楼 zhao4zhong1 的回复:] 将错误信息中出现的标识符放在google里面搜一下,看其在哪个.lib中,然后在本地硬盘上搜索该.lib,如果没有,在网上搜索相关库或模块下载安装,然后将其所在目录填写到“附加依赖库所在目录”中,将其名字添加到“附加依赖库”中,重新连接。 VC6: 工程、设置、C/C++、分类:Preprocessor、附加包含路径:填写附加头文件所在目录 逗号间隔多项 工程、设置、Link、分类:Input、附加库路径:填写附加依赖库所在目录 分号间隔多项 工程、设置、Link、分类:Input、对象/库模块:填写附加依赖库的名字.lib 空格间隔多项 VS20xx: 项目、属性、C/C++、附加包含目录:填写附加头文件所在目录 分号间隔多项 项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项 项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项
我用的是code blocks。 说实在的以前从来没用过" .lib " 或者 “ .dll” 考试用的的《编译原理》尽是文法词法分析处理内容。 还望大湿指条明路: 有了源码的 .c .h 文件为什么还要 .lib ? .lib .dll 怎么用 ? 给我点资料(地址或者书名) 不胜感激。。 [/quote] 《程序员的自我修养——链接、装载与库》
yangyunzhao 2014-07-02
  • 打赏
  • 举报
回复
引用 6 楼 zhao4zhong1 的回复:
[quote=引用 5 楼 H_olic 的回复:] [quote=引用 4 楼 zhao4zhong1 的回复:] 将错误信息中出现的标识符放在google里面搜一下,看其在哪个.lib中,然后在本地硬盘上搜索该.lib,如果没有,在网上搜索相关库或模块下载安装,然后将其所在目录填写到“附加依赖库所在目录”中,将其名字添加到“附加依赖库”中,重新连接。 VC6: 工程、设置、C/C++、分类:Preprocessor、附加包含路径:填写附加头文件所在目录 逗号间隔多项 工程、设置、Link、分类:Input、附加库路径:填写附加依赖库所在目录 分号间隔多项 工程、设置、Link、分类:Input、对象/库模块:填写附加依赖库的名字.lib 空格间隔多项 VS20xx: 项目、属性、C/C++、附加包含目录:填写附加头文件所在目录 分号间隔多项 项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项 项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项
我用的是code blocks。 说实在的以前从来没用过" .lib " 或者 “ .dll” 考试用的的《编译原理》尽是文法词法分析处理内容。 还望大湿指条明路: 有了源码的 .c .h 文件为什么还要 .lib ? .lib .dll 怎么用 ? 给我点资料(地址或者书名) 不胜感激。。 [/quote] 《程序员的自我修养——链接、装载与库》[/quote] 好书,就是有点难,需要慢慢读
yangyunzhao 2014-07-02
  • 打赏
  • 举报
回复
引用 楼主 H_olic 的回复:
C++访问sqlite3的初体验 - 蛋疼先生的手札 - ITeye技术网站 http://shansun123.iteye.com/blog/365311 里面的那大段 我建立一个console 项目,把“蛋疼先生”这段代码丢进去,并把sqlite3.h 添加到项目里,结果还是提示undefined reference to XXX。(#include "sqlite3.h" 不报错,说明我的确包含了这个头文件不是吗)
XXX到底是什么?可能你用错了,sqlite里面有几个函数只是声明,没有定义,如果使用的话,需要自己实现的。你不会用了加密吧?
yangyunzhao 2014-07-02
  • 打赏
  • 举报
回复
引用 2 楼 H_olic 的回复:
[quote=引用 1 楼 hnwyllmm 的回复:] 明显是没有添加对应的链接库 或者没有添加对应的CPP文件,不过这个可能性比较低
源码包里的头文件,以及.c文件我全部包含了。。[/quote] 不会吧?我用了好多年的sqlite,不过不是按照你那个帖子那么做的。我重来都是直接将sqlite3.c加入自己工程编译的
赵4老师 2014-07-01
  • 打赏
  • 举报
回复
将错误信息中出现的标识符放在google里面搜一下,看其在哪个.lib中,然后在本地硬盘上搜索该.lib,如果没有,在网上搜索相关库或模块下载安装,然后将其所在目录填写到“附加依赖库所在目录”中,将其名字添加到“附加依赖库”中,重新连接。 VC6: 工程、设置、C/C++、分类:Preprocessor、附加包含路径:填写附加头文件所在目录 逗号间隔多项 工程、设置、Link、分类:Input、附加库路径:填写附加依赖库所在目录 分号间隔多项 工程、设置、Link、分类:Input、对象/库模块:填写附加依赖库的名字.lib 空格间隔多项 VS20xx: 项目、属性、C/C++、附加包含目录:填写附加头文件所在目录 分号间隔多项 项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项 项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项
羽飞 2014-07-01
  • 打赏
  • 举报
回复
undefined reference to XXX 这种错误是说有函数引用了,但是没有定义,所以不是头文件的问题,头文件只是函数声明 所以如果说C文件都包含了,就得看看是不是有什么链接库没有加
H_olic 2014-07-01
  • 打赏
  • 举报
回复
引用 1 楼 hnwyllmm 的回复:
明显是没有添加对应的链接库 或者没有添加对应的CPP文件,不过这个可能性比较低
源码包里的头文件,以及.c文件我全部包含了。。
H_olic 2014-07-01
  • 打赏
  • 举报
回复
引用 4 楼 zhao4zhong1 的回复:
将错误信息中出现的标识符放在google里面搜一下,看其在哪个.lib中,然后在本地硬盘上搜索该.lib,如果没有,在网上搜索相关库或模块下载安装,然后将其所在目录填写到“附加依赖库所在目录”中,将其名字添加到“附加依赖库”中,重新连接。 VC6: 工程、设置、C/C++、分类:Preprocessor、附加包含路径:填写附加头文件所在目录 逗号间隔多项 工程、设置、Link、分类:Input、附加库路径:填写附加依赖库所在目录 分号间隔多项 工程、设置、Link、分类:Input、对象/库模块:填写附加依赖库的名字.lib 空格间隔多项 VS20xx: 项目、属性、C/C++、附加包含目录:填写附加头文件所在目录 分号间隔多项 项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项 项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项
我用的是code blocks。 说实在的以前从来没用过" .lib " 或者 “ .dll” 考试用的的《编译原理》尽是文法词法分析处理内容。 还望大湿指条明路: 有了源码的 .c .h 文件为什么还要 .lib ? .lib .dll 怎么用 ? 给我点资料(地址或者书名) 不胜感激。。
羽飞 2014-06-30
  • 打赏
  • 举报
回复
明显是没有添加对应的链接库 或者没有添加对应的CPP文件,不过这个可能性比较低

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧