如何在cmd或bat文件中link MinGW

How to link MinGW in cmd or bat file

MinGW v.8.1.0
我正在学习如何使用编译器,但对于某些东西,我找不到答案。 在一个简单的情况下,我只需要我的代码,我可以在 CMD 中编写:

gcc [list c files] -o main.exe

在 bat 文件中也是如此:

del main.exe
gcc [list c files] -o main.exe
main.exe
pause

现在我想用 #include <windows.h> 做一些东西,这意味着 link 到 user32.lib。 查看 gcc --h 中最接近的东西有 -Xlinker <arg> Pass <arg> on to the linker。 我的假设是我的命令应该是:

gcc [list c files] -o main.exe -Xlinker [list of *.lib files]

这是行不通的。我想了解如何 link 到 window 的内置库以及如何对其他可用库执行此操作以及如何使用 bat 文件使其变得容易。 感谢您的帮助!

如果您不提供您拥有的确切代码行,将很难具体说明。如果 MinGW 安装正确,它就会知道如何找到静态库。它应该包括大多数 Windows 静态库(user32comctl32comdlg32ole32 等)。

gcc [list c files] -o main.exe -luser32 -lcomctl32 -comdlg32 [any other library here]

顺便说一句,命名约定如下:如果静态库文件名是libuser32.a,link标志应该是-luser32.a