2016-03-11 3 views
0

Je suis en train de mettre à jour le BDB dans un projet de la version 4.3 à 6.1. C'est ainsi que je parviens à aborder la situation.Remplacement du fichier libdb pour mettre à niveau Berkeley DB?

J'ai eu l'impression que libdb61.lib contiennent tout ce qui est de BDB BDB Installation & Build Guide, donc je téléchargé le dernier BDB, il construit dans le projet VS BDB, placé libdb61.lib à où libdb43.lib est dans mon projet VS, et modifié "Propriétés> Config Prop> Bibliothèques> Dépendances supplémentaires" de Project_1 pour conduire à libdb61.lib.

J'ai réussi à construire Project_1; cependant, j'ai eu plusieurs "erreur LNK2001" quand j'ai construit Project_2, qui dépend de Project_1.

Voici un des messages d'erreur:

1>Project_1.lib(IndexTable.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl Db::set_bt_compare(int (__cdecl*)(class Db *, 

je me suis dit mon projet ne dispose pas d'un fichier qui contient des fonctions comme « set_bt_compare() », ce qui est contenu dans le projet « DB » du BDB.

Suis-je dans le mauvais sens? (Je ne sais pas si je peux mettre à jour en ajoutant simplement des fichiers et la modification des propriétés du projet. De plus, je ne l'ai pas ajouter des fichiers comme libdb61.dll, libdb61.exp, libdb61.pdb, etc.)

Répondre

0

Lire par tous les chapitres «Mise à niveau des applications vers Berkeley DB.XYZ». Vous ne pouvez pas simplement substituer db-6.x à db-4.x (bien que l'API soit la plupart du temps identique, il y a des changements).