2017-05-03 4 views
0

Ich versuche, die Quelle von SQLite3.c und Shell.c Ich habe von der SQLite-Website mit Visual Studio 2015 heruntergeladen. Ich erstellte DLL-Projekt sqlite3 und setzen Sie die SQLite3. c Quelle hinein. Dann habe ich das Projekt sqlite3shell erstellt und die shell.c-Quelle hineingelegt. Ich fügte include "stdafx.h" in beide hinzu. Als ich beide Projekte kompilierte, produzierte die DLL keine .lib Datei, so dass die Kompilierung von sqlite3shell den Fehler LNK1104 cannot open sqlite3.lib bekam.Kompilieren oder Ausführen von sqlite3 mit Visual Studio 2015

Ich erstellte manuell eine .lib-Datei mit this solution. Dann wurde das sqlite3shell-Programm erfolgreich kompiliert. Aber als ich ging, um das Programm zu starten, bekam ich den Fehler The application was unable to start correctly (0xc000007b). Blick in diesen Fehler scheint, ist ein Grund, der verursacht werden könnte, indem versucht wird, auf ein 64-Bit-Programm von einem 32-Bit-Programm zuzugreifen. Aber alles wurde mit der x86-Konfiguration erstellt.

Gibt es eine Möglichkeit, die DLL kompilieren die richtige .lib-Datei erstellen zu lassen? Oder wenn das das Problem nicht behebt, kann ich etwas tun, um den 0xc000007b Fehler zu verhindern?

Antwort

0

Falls jemand anderes dieses Problem haben sollte, habe ich die Lösung gefunden. Es gab 2 Zeilen, die die Definition von SQLITE_API angegeben haben. Ich habe den Export folgendermaßen in die Definition eingefügt: # define SQLITE_API __declspec(dllexport). Anscheinend gab es keine Exporte, deshalb wurde die .lib-Datei nie erstellt. Mit der Änderung wurden die .lib- und die .exp-Dateien erstellt, und das Programm hat den Fehler 0c000007b nicht erhalten.

Verwandte Themen