1

我一直在尝试自己用 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 使用这些代码非常顺利且成功地完成了这个过程:\ 任何解决我的问题的帮助都非常感谢,谢谢。

4

0 回答 0