最终链接失败:包含 windows.h 时参数无效

final link failed: Invalid argument when including windows.h

本文关键字:参数 无效 windows 包含 链接 失败      更新时间:2023-10-16

我已经用CDT设置了MinGW和Eclipse,以便在Windows上进行C++开发。一切都很好,直到我#include <windows.h>.一旦我这样做,我就会收到链接器错误消息c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: final link failed: Invalid argument,其中开头的路径解析为 C:/MinGW/mingw32/bin/ld.exe

我不知道错误消息试图告诉我什么...所以请帮我解密它。

由于我实际上不同意 Lol4t0 的观点,即这太本地化了,所以这里有一个丑陋的答案:重新安装 G++ 解决了这个问题。

我认为问题也可能是我可能忘记安装此处列出的部分之一(我从哪里得到它)第一次......但现在我认识到该链接已完全弃用(2005 年)。所以无论如何都应该使用另一个。

也许您在命令行上缺少链接参数之一。

例如,如果使用 <windows.h> 中声明的任何 WinAPI 函数,则可能需要添加-lgdi32 -lkernel32 -luser32

由于您在 Eclipse 中遇到错误,请在此处添加以下库(gdi32、kernel32、user32):

项目项目 -> C/C++ 构建 ->设置 -> GCC 链接器 -> 库 -> "添加库"

(这取自 Eclipse CDT 命令行输入)