C++ WININET未定义的引用,即使-lwininet链接器标志
我是新使用的WinInet,并有以下简单的C++代码:C++ WININET未定义的引用,即使-lwininet链接器标志
void DoIt(std::string& host, std::string& username, std::string& password) {
HINTERNET hInternet;
HINTERNET hFtpSession;
hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
if (hInternet == NULL) {
std::cout << "Error: " << GetLastError();
} else {
hFtpSession = InternetConnect(hInternet, host.c_str(), INTERNET_DEFAULT_FTP_PORT, username.c_str(), password.c_str(), INTERNET_SERVICE_FTP, 0, 0);
if (hFtpSession == NULL) {
std::cout << "Error: " << GetLastError();
} else {
if (!FtpPutFile(hFtpSession, "C:\\temp\\ftp\\myFile.txt", "/myFile.txt", FTP_TRANSFER_TYPE_BINARY, 0)) {
std::cout << "Error: " << GetLastError();
}
}
}
}
但是编译器的输出是:
Info: Configuration "Debug" uses tool-chain "MinGW GCC" that is unsupported on this system, attempting to build anyway.
Info: Internal Builder is used for build
g++ -O0 -g3 -Wall -std=c++11 -o main.o "..\\main.cpp"
C:\Users\u007\AppData\Local\Temp\ccFEaWlK.o: In function `Z4DoItRSsS_S_':
C:\projects\ftp-test\Debug/../main.cpp:10: undefined reference to `[email protected]'
C:\projects\ftp-test\Debug/../main.cpp:14: undefined reference to `[email protected]'
C:\projects\ftp-test\Debug/../main.cpp:18: undefined reference to `[email protected]'
collect2.exe: error: ld returned 1 exit status
(我链接到wininet.lib
在Eclipse的链接器中的库)
(我也试着给编译器添加-lwininet
选项,但它什么都不做)
我使用以下软件:
- OS:
Windows 10 x64
- IDE:
Eclipse Neon 3
- 编译:
MinGW (rubenvb-4.8-stdthread) 4.8.1 20130324 (prerelease)
感谢您的任何建议。
基于g ++编译线,它缺少链接到的库(wininet)。您需要在eclipse中添加该库,以便您的程序链接到它。
我添加了屏幕截图, 'WinInet'库被添加到我的项目中,如下所述:https://*.com/questions/1351712/how-to-add-a-library-to-an-eclipse-project –
你确定日食能够找到wininet,我觉得你没有任何-L配置截图 – dhia
我甚至试图在-l连接器选项中指定wininet.lib文件的完整路径 –
没有可见的C代码。为什么使用C语言标签? – Gerhardh
可能'WinInet'使用C但没有C++代码 –
尝试''C:\ MinGW-Installation-Folder \ lib \ libwininet.a“'而不是'”wininet.lib“' –