【发布时间】:2016-03-11 03:20:26
【问题描述】:
我正在将项目中的 BDB 从 v4.3 升级到 6.1。这就是我设法处理这种情况的方式。
我的印象是 libdb61.lib 包含来自BDB Installation & Build Guide 的所有 BDB,所以我下载了最新的 BDB,将其构建在 BDB 的 VS 项目中,放置 libdb61.lib 在 libdb43.lib 在我的 VS 项目中的位置,并更改了 Project_1 的 “Properties > Config Prop > Librarian > Additional Dependencies” 指向 libdb61.lib。
我成功构建了 Project_1;但是,我在构建 Project_2 时遇到了多个“错误 LNK2001”,这取决于 Project_1。
这是错误消息之一:
1>Project_1.lib(IndexTable.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl Db::set_bt_compare(int (__cdecl*)(class Db *,
我认为我的项目没有包含诸如“set_bt_compare()”之类的函数的文件,该文件包含在 BDB 的“DB”项目中。
我做错了吗? (我不确定是否可以通过简单的添加文件和更改项目属性来升级。另外,我没有添加 libdb61.dll、libdb61.exp、libdb61.pdb 等文件。)
【问题讨论】: