#include <iostream>
#include <windows.h>
#include <wininet.h>
#pragma comment(lib, "wininet")
#include <pshpack4.h>
#include <poppack.h>
using namespace std;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HINTERNET hInternet;
HINTERNET hFtpSession;
hInternet = InternetOpen(NULL,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);
hFtpSession = InternetConnect(hInternet, "ftp.drivehq.com",INTERNET_DEFAULT_FTP_PORT, "usr" ,"pass", INTERNET_SERVICE_FTP, 0, 0);
FtpPutFile(hFtpSession, "log.txt", "mylog.txt", FTP_TRANSFER_TYPE_BINARY, 0);
InternetCloseHandle(hFtpSession);
InternetCloseHandle(hInternet);
return 0;
}
[Linker error] undefined reference to 'InternetOpenA@20' [Linker error] undefined reference to 'InternetConnectA@32' [Linker error] undefined reference to 'FtpPutFileA@20' [Linker error] undefined reference to 'InternetCloseHandle@4' [Linker error] undefined reference to 'InternetCloseHandle@4' ld returned 1 exit status C:\Users\Wade\Desktop\test\command builder\Makefile.win [Build Error] [command.exe] Error 1
Что случилось с моим кодом здесь, он продолжает давать мне ошибки компоновщика?
У меня было много ошибок, подобных этому в моей первой программе C++. Это проблема с привязкой к библиотеке WinINet. Если вы используете MinGW, добавьте "-lwininet" (без кавычек) к дополнительным аргументам командной строки, и он должен быть исправлен. Я не знаю, что делать, если вы используете V C++. Кроме того, убедитесь, что расположение библиотеки WinINet находится в пути поиска компоновщика. Еще одно замечание: переменные INTERNET_PER_CONN_ *, как и некоторые другие, не существуют в MinGW WinInet, и я еще не нашел решения для его исправления.