Wininet 给出链接器错误我正在使用 devc++

Posted

技术标签:

【中文标题】Wininet 给出链接器错误我正在使用 devc++【英文标题】:Wininet giving linker errors I'm using devc++ 【发布时间】:2014-04-04 03:45:01 【问题描述】:
#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;

[链接器错误] 未定义对“InternetOpenA@20”的引用 [链接器错误] 未定义对 `InternetConnectA@32' 的引用 [链接器错误] 未定义对“FtpPutFileA@20”的引用 [链接器错误] 未定义对“InternetCloseHandle@4”的引用 [链接器错误] 未定义对“InternetCloseHandle@4”的引用 ld 返回 1 个退出状态 C:\Users\Wade\Desktop\test\command builder\Makefile.win [Build Error] [command.exe] Error 1

我的代码有什么问题,它一直给我链接器错误?

【问题讨论】:

【参考方案1】:

在我的第一个 C++ 程序中,我遇到了很多这样的错误。这是与 WinINet 库链接的问题。如果您使用 MinGW,请将“-lwininet”(不带引号)添加到其他命令参数中,并且应该修复它。如果您使用VC++,我不知道该怎么办。此外,请确保 WinINet 库的位置在链接器的搜索路径中。另一个注意事项: INTERNET_PER_CONN_* 变量以及其他一些变量在 MinGW 的 WinInet 中不存在,我还没有找到修复它的解决方案。

【讨论】:

谢谢...它有效我一直在寻找一个星期的答案,今天我找到了答案真是巧合,这是我的生日。再次感谢。 如果我的回答修复了它,如果你能这样标记,我将不胜感激;-)

以上是关于Wininet 给出链接器错误我正在使用 devc++的主要内容,如果未能解决你的问题,请参考以下文章

C++ Wininet 自定义 http 标头

使用 C++ 的 SOIL 库链接器错误问题

Wininet上传文件TCHAR问题

如何将 libcurl 与 dev c++ 静态链接?

是否有用于 WinInet 的 .Net 包装器

Wininet 缓存包装器