我一直在尝试自己用 TDM_GCC 编译一个 dll 项目(没有任何 IDE)我在 powershell 中输入了第一个命令(在为 $Env:Path 分配了正确的值之后),如下所示:
mingw32-gcc.exe -Wall -DBUILD_DLL -g -c .\IntLib.c -o .\IntLib.o
我很喜欢第一个块,但第二个总是抛出如下错误:
PS D:\C_Dll\dllsrc> mingw32-gcc.exe -shared -Wl,--output-def=libIntLib.def -Wl,--out-implib,libIntLib.a -Wl,--dll IntLi
b.o -o IntLib.dll -luser32
At line:1 char:28
+ mingw32-gcc.exe -shared -Wl,--output-def=libIntLib.def -Wl,--out-impl ...
+ ~
Missing argument in parameter list.
At line:1 char:59
+ mingw32-gcc.exe -shared -Wl,--output-def=libIntLib.def -Wl,--out-impl ...
+ ~
Missing argument in parameter list.
At line:1 char:88
+ ... ,--output-def=libIntLib.def -Wl,--out-implib,libIntLib.a -Wl,--dll I ...
+ ~
Missing argument in parameter list.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingArgument
如果我确切地说“-Wl”参数会引发错误,并且我无法获得任何 .def 或 .a 文件以在其他项目中使用。但值得怀疑的是,Code::Blocks 使用这些代码非常顺利且成功地完成了这个过程:\ 任何解决我的问题的帮助都非常感谢,谢谢。