FTP-Client und nicht aufgelöstes externes Symbol
-
Hallo,
ich schreibe grad aus Petzold's den FTP-Clienten und hab jetzt diese doofen nicht aufgelösten externen Symbole. Im Buch steht nicht, das ich irgendwas besonderes linken oder so muss.
Hier der betreffende Code:
//FtpThread: Liest Dateien von FTP-Server und kopiert sie auf lokalen Datenträger void FtpThread(PVOID parg) { BOOL bSuccess; HINTERNET hIntSession, hFtpSession, hFind; HWND hwndStatus, hwndButton; PARAMS *pparams; TCHAR szBuffer[64]; WIN32_FIND_DATA finddata; pparams = parg; hwndStatus = GetDlgItem(pparams->hwnd, IDC_STATUS); hwndButton = GetDlgItem(pparams->hwnd, IDCANCEL); //Internet-Sitzung anlegen hIntSession = InternetOpen(szAppName, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0) ; if(hIntSession == NULL) { wsprintf(szBuffer, TEXT("InternetOpen: Fehler %i"), GetLastError()); ButtonSwitch(hwndStatus, hwndButton, szBuffer); _endthread(); } SetWindowText(hwndStatus, TEXT("Internet-Sitzung eröffnet...")); //Hat der Besitzer "Abbrechen" geklickt? if(!pparams->bContinue) { InternetCloseHandle(hIntSession); ButtonSwitch(hwndStatus, hwndButton, NULL); _endthread(); } //FTP-Sitzung anlegen hFtpSession = InternetConnect(hIntSession, FTPSERVER, INTERNET_DEFAULT_FTP_PORT, NULL, NULL, INTERNET_SERVICE_FTP, 0, 0); if(hFtpSession == NULL) { InternetCloseHandle(hIntSession); wsprintf(szBuffer, TEXT("InternetConnect: Fehler %i", GetLastError())); ButtonSwitch(hwndStatus, hwndButton, NULL); _endthread(); } SetWindowText(hwndStatus, TEXT("FTP-Sitzung eröffnet...")); //Hat der Besitzer "Abbrechen" geklickt? if(!pparams->bContinue) { InternetCloseHandle(hFtpSession); InternetCloseHandle(hIntSession); ButtonSwitch(hwndStatus, hwndButton, NULL); _endthread(); } //FTP-Verzeichnis wählen bSuccess = FtpSetCurrentDirectory(hFtpSession, DIRECTORY); if(!bSuccess) { InternetCloseHandle(hFtpSession); InternetCloseHandle(hIntSession); wsprintf(szBuffer, TEXT("Fehler beim Wechsel ins FTP-Verzeicnis %s"), DIRECTORY); ButtonSwitch(hwndStatus, hwndButton, NULL); _endthread(); } SetWindowText(hwndStatus, TEXT("Verzeichnis gefunden...")); //Hat Benutzer "Abbrechen" geklickt? if(!pparams->bContinue) { InternetCloseHandle(hFtpSession); InternetCloseHandle(hIntSession); ButtonSwitch(hwndStatus, hwndButton, NULL); _endthread(); } //Erste Datei lesen, die ins Suchmuster passt hFind = FtpFindFirstFile(hFtpSession, TEMPLATE, &finddata, 0, 0); if(hFind == NULL) { InternetCloseHandle(hFtpSession); InternetCloseHandle(hIntSession); ButtonSwitch(hwndStatus, hwndButton, TEXT("Datei(en) nicht gefunden")); _endthread(); } do { if(!pparams->bContinue) //"Abbrechen" { InternetCloseHandle(hFind); InternetCloseHandle(hFtpSession); InternetCloseHandle(hIntSession); ButtonSwitch(hwndStatus, hwndButton, NULL); _endthread(); } //Datei vom FTP-Server auf den lokalen Datenträger kopieren - aber nur, wenn sie dort noch nicht existiert wsprintf(szBuffer, TEXT("Lese Date $s..."), finddata.cFileName, TRUE, FILE_ATTRIBUTE_NORMAL, FTP_TRANSFER_TYPE_BINARY, 0); } while(InternetFindNextFile(hFind, &finddata)); InternetCloseHandle(hFind); InternetCloseHandle(hFtpSession); InternetCloseHandle(hIntSession); ButtonSwitch(hwndStatus, hwndButton, TEXT("Download aus dem Internet beendet")); }und hier die Fehlermeldung:
SmashFTP error LNK2019: Nicht aufgeloestes externes Symbol __imp__FtpSetCurrentDirectoryA@8, verwiesen in Funktion _FtpThread SmashFTP error LNK2019: Nicht aufgeloestes externes Symbol __imp__FtpFindFirstFileA@20, verwiesen in Funktion _FtpThread SmashFTP error LNK2019: Nicht aufgeloestes externes Symbol __imp__InternetCloseHandle@4, verwiesen in Funktion _FtpThread SmashFTP error LNK2019: Nicht aufgeloestes externes Symbol __imp__InternetConnectA@32, verwiesen in Funktion _FtpThread SmashFTP error LNK2019: Nicht aufgeloestes externes Symbol __imp__InternetFindNextFileA@8, verwiesen in Funktion _FtpThread SmashFTP error LNK2019: Nicht aufgeloestes externes Symbol __imp__InternetOpenA@20, verwiesen in Funktion _FtpThread SmashFTP fatal error LNK1120: 6 unaufgeloeste externe VerweiseDanke schonmal für eure Hilfe!
-
-
MSDN... natürlich.
Danke

-
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
du musst Wininet.lib linken

-
das steht auch im petzold wenn mich mein sinn nicht täuscht

