mingw 链接器找不到 PathAppend

Sop*_*ert 4 linker mingw

当我尝试编译以下内容时:

#include <windows.h>
#include <shlwapi.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
  char firstPart[MAX_PATH] = "c:\\windows";
  char secondPart[MAX_PATH] = "system32";
  PathAppend(firstPart, secondPart);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

使用命令:

c:\mingw\bin\gcc -mwindows -mno-cygwin -o test test.c
Run Code Online (Sandbox Code Playgroud)

它失败并出现错误:

对“_imp__PathAppendA@8”的未定义引用

当然,这对我来说有些愚蠢,但是有人可以告诉我我在这里缺少什么吗?

Dav*_*eau 5

您需要添加用于链接的 shlwapi 库:

gcc -o test test.c -lshlwapi
Run Code Online (Sandbox Code Playgroud)

为我工作