Visual Studio编译时 error LINK

来源:互联网 发布:如何用python开发软件 编辑:程序博客网 时间:2024/05/17 13:40

HelloWin.obj : error LNK2019:无法解析的外部符号 __imp__PlaySoundW@12,该符号在函数 "long __stdcallWndProc(struct HWND__ *,unsigned int,unsigned int,long)"(?WndProc@@YGJPAUHWND__@@IIJ@Z)中被引用

D:\MyProgramTest\Hellowin\Debug\Hellowin.exe : fatal errorLNK1120: 1个无法解析的外部命令

 

解决办法:

(1)加上#pragma comment(lib,"winmm.lib")

=================================================================

error LNK2019:无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup中被引用

这个问题表明你新建的是一个main类型函数(控制台程序),而你的程序中有窗口程序,显然是个win32函数


解决方法:

项目-属性-链接器-系统-子系统-控制台(/SUBSYSTEM:CONSOLE) 

改为:项目-属性-链接器-系统-子系统-窗口(/SUBSYSTEM:WINDOWS) 


error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用


解决方法:

项目-属性-链接器-系统-子系统-窗口(/SUBSYSTEM:WINDOWS)

改为:项目-属性-链接器-系统-子系统-控制台(/SUBSYSTEM:CONSOLE) 

=================================================================


INK :fatal error LNK1104:无法打开文件“C:/Program.obj”

看看 工程属性 ---- 链接 --- 输入 -- 附加依赖项   ......

要使用全路径要用双引号把路径框起来~~这里我要使用

"C:/ProgramFiles/vc6/VC98/LIB/d3dx9.lib"

要注意的是两个项目之间是要用空格分开的,注意别打成中文的空格了

=================================================================

fatal error LNK1169: 找到一个或多个多重定义的符号

申明全局变量,全局函数一定要在cpp中申明

其他类引用该全局变量就include该cpp的h文件

然后extern一下就好了,否则容易出现该重复定义错误

这个"容易"是如何解释的呢?

例如A.h中如果申明了全局变量intGlobal;

在B.h中include"A.h"

             extern int Global;

则你include A.h相当于把A.h中全局变量的申明也include进来了,编译器就会认为是重复定义,所以全局变量和函数申明一定要在cpp中

当.h文件里有函数实现时

VS2005编译器报此错误。


解决方法:

1.在.h里的函数声明前加inline。

2.将全局变量放到.CPP文件中声明。
0 0