如何使用 msys link WinInet bash shell

How to link WinInet using msys bash shell

在 windows (msys)

中从 bash shell 编译时,我很难弄清楚如何 link WinInet

'Makefile'

main:
    g++ -s -static -static-libgcc -static-libstdc++ -lwininet main.cpp -o main

'main.cpp'


#include <Windows.h>
#include <wininet.h>



#define MAX  4096
#pragma comment (lib, "Wininet.lib")

void Request()
{
    HINTERNET hSession = InternetOpen("", INTERNET_OPEN_TYPE_PRECONFIG, NULL,NULL,0);

}
int main()
{
    Request();
    return 0;
}

我得到的错误

C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\cc1m5iEc.o:main.cpp:(.text+0xfa6): undefined reference to `__imp_InternetOpenA'

我尝试过的事情:

如何在 msysshell 中从 bash shell 正确 link wininet

MSYS下载link

问题出在你的make文件中,你应该把-lwininet移到main.cpp

之后

g++ -s main.cpp -static -static-libgcc -static-libstdc++ -lwininet -Os -o main