Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

VC++ sqlite3.dll - sqlite3.lib

Diskussion: VC++ sqlite3.dll - sqlite3.lib im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Mein Ziel ist es in Visual C++ sqlite3 zu benutzen. Ich beschränke mich bisher lediglich auf C und möchte ...

Antwort
Alt 19.04.11, 21:15   #1 (permalink)
 
Registriert seit: 25.11.06
gugugs Leistung: Facit NTK
Likes: 0
Standard VC++ sqlite3.dll - sqlite3.lib

Anzeige

Mein Ziel ist es in Visual C++ sqlite3 zu benutzen.
Ich beschränke mich bisher lediglich auf C und möchte auch bei C bleiben...
Mittlerweile habe ich es hinbekommen mit
http://www.sqlite.org/sqlite-dll-win32-x86-3070600.zip
und diesem Befehl

Code:
LIB /DEF:sqlite3.def
die sqlite3.lib zu bauen.
Wenn jetzt die .dll in Nähe der .exe ist funktioniert nun auch alles einwandfrei.

Aber jetzt hab ich eig. genau das was ich so gar nicht wollte. Nämlich eine zweite Datei bei der .exe

Habe öfters gelesen das ich mit den Sources eine .lib bauen kann in der dann alles komplett enthalten ist, also so das ich mit dieser .lib keine .dll in der Nähe der .exe mehr benötige.

Ich kenne mich leider mit Visual Studio nicht soo besonders aus, da ich eher auf der Linux Schiene gefahren bin bisher. Ich weiß leider überhaupt nicht wo ich jetzt anfangen soll, so eine .lib zu bauen.

Möchte einfach nicht eine .dll bei der .exe haben sondern diese allein.
Danke für jede Hilfe
gugugs ist offline   Mit Zitat antworten
Alt 19.04.11, 21:31   #2 (permalink)
Senior Member
 
Benutzerbild von lookshe
 
Registriert seit: 10.03.07
lookshe Leistung: 8086
Likes: 19
Standard

Zitat:
Zitat von gugugs Beitrag anzeigen
Ich kenne mich leider mit Visual Studio nicht soo besonders aus, da ich eher auf der Linux Schiene gefahren bin bisher. Ich weiß leider überhaupt nicht wo ich jetzt anfangen soll, so eine .lib zu bauen.
Hm, also linken tut man auch unter Linux und da auch statisch oder dynamisch, daran ändert sich auch mit Windows eigentlich nichts. Und da ist Google ziemlich aufschlussreich...
lookshe ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 19.04.11, 21:40   #3 (permalink)
Themenstarter
 
Registriert seit: 25.11.06
gugugs Leistung: Facit NTK
Likes: 0
Standard

Ja aber ich versteh das mit den .dlls nicht so... Ich kann doch keine .dll linken, sodass sie später nicht mehr bei der .exe sein muss?

edit: Also wenn ich die .dll genau linke wie die .lib bekomme ich folgendes
Code:
sqlite3.dll : fatal error LNK1107: invalid or corrupt file: cannot read at 0x470

Geändert von gugugs (19.04.11 um 22:00 Uhr)
gugugs ist offline   Mit Zitat antworten
Alt 19.04.11, 23:24   #4 (permalink)
Senior Member
 
Benutzerbild von lookshe
 
Registriert seit: 10.03.07
lookshe Leistung: 8086
Likes: 19
Standard

Du linkst ja auch nicht die DLL sonder die LIB. Wenn du dynamisch linkst, muss die DLL im Suchpfad zu finden sein, damit das Programm läuft. Linkst du dagegen statisch, wird die LIB quasi in dein Programm reingepackt und von dort genutzt.
Walkthrough: Creating and Using a Static Library
lookshe ist offline   Mit Zitat antworten
Alt 19.04.11, 23:48   #5 (permalink)
Themenstarter
 
Registriert seit: 25.11.06
gugugs Leistung: Facit NTK
Likes: 0
Standard

Hm, ich verstehe vllt den Unterschied zwischen dll und lib noch nicht so ganz.
Ob die lib jetzt statisch oder dynamisch gelinkt ist, hat doch nichts mit der dll zu tun, oder? Ich brauch doch so oder so beides, oder?

Wenn ich das richtig verstehe wird in dem Link den du mir geschickt hast erklärt, wie man eine statische library baut?

Aber ich habe ja schon quasi beides?
Ich steh ein wenig auf dem Schlauch^^
gugugs ist offline   Mit Zitat antworten
Alt 20.04.11, 00:20   #6 (permalink)
Senior Member
 
Registriert seit: 13.07.08
enkore Leistung: K 6-3enkore Leistung: K 6-3enkore Leistung: K 6-3
Likes: 85
Standard

Wenn du die sqlite3 amalgation hast, kannst du die sqlite3 Quelldateien auch einfach zu deinem Projekt hinzufügen. Damit ersparst du dir das rumgelinke...
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Alt 20.04.11, 00:49   #7 (permalink)
Themenstarter
 
Registriert seit: 25.11.06
gugugs Leistung: Facit NTK
Likes: 0
Standard

Das glaub ich jetzt nicht^^ Ich könnte wetten das hätte ich schon mal probiert
Funktioniert, vielen Dank euch beiden
gugugs ist offline   Mit Zitat antworten
Alt 20.04.11, 12:09   #8 (permalink)
Themenstarter
 
Registriert seit: 25.11.06
gugugs Leistung: Facit NTK
Likes: 0
Standard

Hm, jetzt habe ich wieder ein Problem in dieser Art.
Ich denke ich mache mal kein neues Thema auf sondern schreibe es hier:

Brauch nun die ftplib
Habe mir dazu dieses Paket herunter geladen http://www.nbpfaus.net/~pfau/ftplib/ftplib-3.1-1.zip
Und die Sources (ftplib.h, ftplib.c, getopt.h und getopt.c) zum Projekt hinzugefügt.
Müsste das jetzt nicht eig. funktionieren? Genauso war es ja bei sqlite3 jetzt auch.
Bei Aufruf "FtpInit()" bekomme ich folgendes:

Code:
1>Link:
1>     Creating library C:\***\Debug\projekt.lib and object C:\***\Debug\projekt.exp
1>ftplib.obj : error LNK2019: unresolved external symbol _WSAStartup@8 referenced in function _FtpInit
1>ftplib.obj : error LNK2019: unresolved external symbol _connect@12 referenced in function _FtpConnect
1>ftplib.obj : error LNK2019: unresolved external symbol _closesocket@4 referenced in function _FtpConnect
1>ftplib.obj : error LNK2019: unresolved external symbol _setsockopt@20 referenced in function _FtpConnect
1>ftplib.obj : error LNK2019: unresolved external symbol _socket@12 referenced in function _FtpConnect
1>ftplib.obj : error LNK2019: unresolved external symbol _gethostbyname@4 referenced in function _FtpConnect
1>ftplib.obj : error LNK2019: unresolved external symbol _inet_addr@4 referenced in function _FtpConnect
1>ftplib.obj : error LNK2019: unresolved external symbol _htons@4 referenced in function _FtpConnect
1>ftplib.obj : error LNK2019: unresolved external symbol _getservbyname@8 referenced in function _FtpConnect
1>ftplib.obj : error LNK2019: unresolved external symbol _recv@16 referenced in function _readline
1>ftplib.obj : error LNK2019: unresolved external symbol _select@20 referenced in function _socket_wait
1>ftplib.obj : error LNK2019: unresolved external symbol _send@16 referenced in function _FtpSendCmd
1>ftplib.obj : error LNK2019: unresolved external symbol _listen@8 referenced in function _FtpOpenPort
1>ftplib.obj : error LNK2019: unresolved external symbol _bind@12 referenced in function _FtpOpenPort
1>ftplib.obj : error LNK2019: unresolved external symbol _getsockname@12 referenced in function _FtpOpenPort
1>ftplib.obj : error LNK2019: unresolved external symbol _accept@12 referenced in function _FtpAcceptConnection
1>ftplib.obj : error LNK2019: unresolved external symbol ___WSAFDIsSet@8 referenced in function _FtpAcceptConnection
1>ftplib.obj : error LNK2019: unresolved external symbol _shutdown@8 referenced in function _FtpClose
1>C:\***\Debug\projekt.exe : fatal error LNK1120: 18 unresolved externals
1>
1>Build FAILED.
gugugs ist offline   Mit Zitat antworten
Alt 20.04.11, 12:20   #9 (permalink)
Senior Member
 
Benutzerbild von lookshe
 
Registriert seit: 10.03.07
lookshe Leistung: 8086
Likes: 19
Standard

Der Linker findet einige Referenzen nicht. Öffne mal das FTPLib Projekt und schau nach, welche Libraries dort hinzugelinkt werden und füge sie deinem Projekt auch hinzu.

Nach kurzem Googlen würde ich einfach mal folgendes probieren:

Zitat:
include winsock2.h
link to ws2_32.lib
needs ws2_32.dll
Quelle: http://www.daniweb.com/software-deve.../threads/81696

wsock32.lib wird im FTPLib Projekt auch gelinkt. Da die Verweise alle daraus stammen, wird diese fehlende Referenz dein Problem sein

Geändert von lookshe (20.04.11 um 12:24 Uhr)
lookshe ist offline   Mit Zitat antworten
Alt 20.04.11, 12:42   #10 (permalink)
Themenstarter
 
Registriert seit: 25.11.06
gugugs Leistung: Facit NTK
Likes: 0
Standard

Wenn ich das richtig verstehe muss dann aber die ws2_32.dll wieder bei der .exe sein, oder?
Das wäre nicht so praktisch^^
gugugs ist offline   Mit Zitat antworten
Alt 20.04.11, 12:51   #11 (permalink)
Senior Member
 
Benutzerbild von lookshe
 
Registriert seit: 10.03.07
lookshe Leistung: 8086
Likes: 19
Standard

Das ist eine Windows Library, die eigentlich in jeder Windows-Installation vorhanden ist.
lookshe ist offline   Mit Zitat antworten
Alt 20.04.11, 14:15   #12 (permalink)
Senior Member
 
Registriert seit: 13.07.08
enkore Leistung: K 6-3enkore Leistung: K 6-3enkore Leistung: K 6-3
Likes: 85
Standard

Zitat:
Zitat von lookshe Beitrag anzeigen
Das ist eine Windows Library, die eigentlich in jeder Windows-Installation vorhanden ist.
Ab Windows 2000 in jedem Fall vorhanden.
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » VC++ sqlite3.dll - sqlite3.lib
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61