wininet.h wininet.lib einbinden
-
Hi,
ich versuche eine Internetverbindung zum Update-Check aufzubauen und orientiere mich an folgendem Projekt: http://www.codeproject.com/cpp/updatecheck.aspMein Problem ich erhalte folgende Fehler:
error C2065: 'HINTERNET' : nichtdeklarierter Bezeichner
error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'hInet'
error C2065: 'hInet' : nichtdeklarierter Bezeichner
error C2065: 'InternetOpen' : nichtdeklarierter BezeichnerEs werden also die Definitionen nicht erkannt, die ich aber über
MyAppDlg.h: #include <wininet.h>
eingebunden habe.
Auch im Menü "Projekt - Einstellungen - Linker" bei "Objekt-/Bibliothekmodule" habe ich die Bibliothek "wininet.lib" hinzugefügt.
Wo liegt jetzt noch der Fehler?
Danke für eure Hilfe!
-
Versuch mal die Lib so einzubauen :
#pragma comment(lib, "wininet.lib")
Vielleicht ist da was schief gegangen mit der Lib ...
Gruß
:: NoName ::
-
Hab ich zwischenzeitlich auch schon probiert, leider ohne Erfolg Immernoch die gleichen Fehler...
Was muss ich sonst noch beachten, außer folgende Zeilen in die Headerdatei meines Dialogs einzubauen??
#include <wininet.h> #pragma comment(lib, "wininet.lib")
-
guck doch mal
http://www.codeproject.com/cpp/updatecheck.asp?df=100&forumid=26041&select=664719#xx664719xxvielleicht hilft es dir weiter... ciao veganza
-
Danke für den Hinweis!
Hatte ich aber leider auch schon entdeckt und ausprobiert - ohne Erfolg
Weder mit Pragma, noch mit den Einstellungen des VCWie kann ich diesen Fehler näher einkreisen? Anscheinend können die Definitionen aus wininet.h nicht gefunden werden, oder liegt sowas eher an der .lib?
In welche Dateien includiert man am besten die .h?Bei mir sieht die .cpp so aus:
#include "stdafx.h" #include "MyApp.h" #include "MyAppDlg.h"
in der Header Datei steht als erstes das Include für wininet.h
Fehlen evtl. noch andere Header-Dateien??Bin für jeden weiteren Tipp dankbar
-
in .h sollte man nicht #include'n
in .h stehen deine variablen & funktions-deklarationenin der .cpp da machst du dann dein #include
1. füge die updatecheck.cpp & .h deinem projekt hinzu
2. füge in der updatecheck.cpp hinter den dort befindlichen #include's folgenden code ein#include "wininet.h" #pragma comment( lib, "wininet.lib" ) #pragma comment( lib, "version.lib" )
und fertig ist das ganze... hoffe ich
ciao veganza
-
veganza schrieb:
und fertig ist das ganze... hoffe ich
Wenn's so einfach wär'
Hab jetzt extra ein neues Projekt erstellt um andere fehler auszuschließen. Nur mit einem Button wie in obigem Link beschrieben. Meine .cpp fängt wie folgt an:
// updateDlg.cpp : Implementierungsdatei #include "stdafx.h" #include "update.h" #include "updateDlg.h" #include "wininet.h" #pragma comment( lib, "wininet.lib" ) #pragma comment( lib, "version.lib" ) #include "UpdateCheck.h"
Hab auch versucht die libs im VC direkt einzugeben. Alles ohne Erfolg!
Wieder die gleichen Fehler:error C2065: 'HINTERNET' : nichtdeklarierter Bezeichner error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'hInet' error C2065: 'hInet' : nichtdeklarierter Bezeichner error C2065: 'InternetOpen' : nichtdeklarierter Bezeichner error C2065: 'INTERNET_OPEN_TYPE_PRECONFIG' : nichtdeklarierter Bezeichner error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'hUrl' error C2065: 'hUrl' : nichtdeklarierter Bezeichner error C2065: 'InternetOpenUrl' : nichtdeklarierter Bezeichner error C2065: 'INTERNET_FLAG_RELOAD' : nichtdeklarierter Bezeichner ...
Eigentlich kanns doch nicht so schwer sein, hab doch auch schon bei anderen Projekten mit includes und libs gearbeitet...
-
@mat,
nicht in deine Dialog-Klasse ( updateDlg.cpp ) in der du die UpdateCheck Klasse benutzen willst sollst du den Code von mir einfügen, sondern in die UpdateCheck.cpp
habe ich auch so im vorletzten reply geschrieben...
ciao veganza
-
morgen ,
also nach kuzem Nachgucken in der msdn ergibt sich , dass
HINTERNET ein operator von CInternetConnection ist . Ich weiss nicht , ob diser operator auch in wininet.h enthalten ist ..
-
Auch ein blindes Huhn....
Danke für die Geduld , jetzt hab ich es hinbekommen
-
mat schrieb:
Danke für die Geduld , jetzt hab ich es hinbekommen