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

时间:2012-04-28 20:49:20

标签: c++ windows linker g++ mingw

我在Windows上开发了用于C ++开发的CDT MinGW和Eclipse。一切都很有效,直到我#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

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

2 个答案:

答案 0 :(得分:1)

因为我实际上不同意Lol4t0的观点,认为这是过于本地化,这是一个丑陋的答案:重新安装G ++解决了这个问题。

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

答案 1 :(得分:0)

也许你错过了命令行中的一个链接参数。

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

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

  

项目所有权 - &gt; C / C ++构建 - &gt;设置 - &gt; GCC Linker - &gt;图书馆 - &gt; “添加图书馆”

(取自eclipse cdt command line input