Wieder SQLite unresolved external symbol...



  • Hi

    ich wende mich an euch da ich auch nach 3 Tagen suche, probieren nicht dahinterkomme.

    erst einmal, die sqlite3.h hab ich im projekt ordner und auch eingebunden.
    Die LIB hab ich mit einem neuen Projekt als Statische Library aus dem sourcecode von sqlite erstellt. Habs auch schon beim kompilieren per "NO_TCL" probiert hatte aber auch keinen erfolg später gebracht. Die LIB habe ich also auch in meinem Projekt drin.

    In meinem testprogramm nun habe ich z.B. das stehen

    #include <iostream>
    #include "sqlite3.h"
    #pragma comment(lib, "sqlite3.lib")
    
    int main(void)
    {
    	sqlite3* Database;
    	char Path[80];
    
    	using namespace std;
    	cout << "Pfad angeben: "; cin >> Path;
    
    	if (sqlite3_open(Path, &Database) != SQLITE_OK)
    	{
    		cout << "Fehler beim oeffnen: " << sqlite3_errmsg(Database) << endl;
    		return 1;
    	}
    	return 0;
    }
    

    Als error erhalte ich:

    ...
    
    1>sqlite3.lib(main.obj) : error LNK2001: unresolved external symbol _sqlite3_value_text
    1>sqlite3.lib(main.obj) : error LNK2001: unresolved external symbol _sqlite3ValueNew
    1>sqlite3.lib(callback.obj) : error LNK2001: unresolved external symbol _sqlite3DeleteTrigger
    1>sqlite3.lib(callback.obj) : error LNK2001: unresolved external symbol _sqlite3ErrorMsg
    1>sqlite3.lib(hash.obj) : error LNK2001: unresolved external symbol _sqlite3UpperToLower
    1>sqlite3.lib(btree.obj) : error LNK2001: unresolved external symbol _sqlite3Get4byte
    1>sqlite3.lib(btree.obj) : error LNK2001: unresolved external symbol _sqlite3Put4byte
    1>sqlite3.lib(btree.obj) : error LNK2001: unresolved external symbol _sqlite3GetVarint
    
    ...
    

    wo könnte da jetzt der fehler liegen? was hab ich übersehen? beim linken der lib vieleicht? Dort ist ja alles ohne probleme abgelaufen.



  • Hat sich grad erledigt

    Der Fehler war ich hatte die LIB mit Visual Studio und dem kompletten sourcecode erstellt. Hatte mich eh schon gewundert warum die LIB 2 MB groß war.

    Nachdem ich die LIB per C++ Kommandozeile und dem Befehl "LIB /DEF:sqlite3.def" mithilfe der DEF datei erstellt hatte (jetzt nur 35 KB groß) funktioniert die neue LIB auch.

    Der Obere Code lässt sich nun ohne probleme kompilieren und ausführen.


Anmelden zum Antworten