#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
我的代码在这里出了什么问题,它一直给我链接器错误?
答案 0 :(得分:1)
我的第一个C ++程序中有很多这样的错误。链接WinINet库是一个问题。如果您正在使用MinGW添加&#34; -lwininet&#34; (没有引号)到附加的命令参数,它应该是固定的。如果您使用VC ++,我不知道该怎么做。此外,请确保WinINet库的位置位于链接器的搜索路径中。另外一个注意事项:在MinGW的WinInet中不存在INTERNET_PER_CONN_ *变量以及其他一些变量,我还没有找到解决它的解决方案。