使用带有 Mingw-w64 的 wininet 编译 c-source 的链接器错误

时间:2021-02-20 11:19:47

标签: mingw-w64

我在 Windows 上编译 c-source 时遇到问题。我使用了 wininet 的函数,但出现了链接器错误。
我使用这个版本的 g++.exe (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 8.1.0

示例代码:

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <wininet.h>


int main (int argc, char **argv) 
{
    InternetOpen("WebReader", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 ); 
    return 0;
}

编译语句出现错误:

"C:\Program Files (x86)\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin\g++.exe" -lwininet -g test.c -o test.exe
C:\Users\peter\AppData\Local\Temp\ccfXocKI.o: In function `main':
D:\source\mingw\ShellHost/test.c:9: undefined reference to `_imp__InternetOpenA@20'
collect2.exe: error: ld returned 1 exit status

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您应该将 Wininet.lib 链接为 InternetOpenA documentation says(请参阅要求部分)。