这个错误说的是什么? [英] What's this error say ?

查看:81
本文介绍了这个错误说的是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我得到这个时间。但我不明白它说的是什么



错误3错误LNK1120:1未解析的外部C:\ Users \ emhammadali1375 \documents\visual studio 2010 \Projects \ MyEngine \ MEngine \Debug \ MEngine.exe



错误2错误LNK2001:未解析的外部符号public:virtual void __thiscall MEngineComponent ::更新(无效)(?更新@MEngineComponent @@ UAEXXZ)C:\ Users \ emhammadali1375 \documents\visual studio 2010 \Projects \ MyEngine \ Mengine \ Mengine \ TestComponent.obj


我想知道它什么时候发生

谢谢

Hi I get this some time. but i can''t understand what it say

Error 3 error LNK1120: 1 unresolved externals C:\Users\mohammadali1375\documents\visual studio 2010\Projects\MyEngine\MEngine\Debug\MEngine.exe

Error 2 error LNK2001: unresolved external symbol "public: virtual void __thiscall MEngineComponent::Update(void)" (?Update@MEngineComponent@@UAEXXZ) C:\Users\mohammadali1375\documents\visual studio 2010\Projects\MyEngine\MEngine\MEngine\TestComponent.obj

I want to know when does it happen
Thanks

推荐答案

几个事情可能导致这一点。您可能没有正确链接到您尝试使用的库文件。



另一种可能性是您已声明函数
A couple of things can cause this. You might not have linked correctly to the library file you are trying to use.

Another possibility is that you have declared the function
void Update(void)

,但是你忘了在.cpp文件中实际编写函数代码。我实际上认为这会给你LNK2019错误,但你应该仔细检查以确保。



如果这不是你的问题,请看看这里其他原因:

http://msdn.microsoft .com / zh-CN / library / f6xx1b1z(v = vs.100).aspx [ ^ ]





Soren Madsen

in the header file for you MEngineComponent class, but you forgot to actually code the function in the .cpp file. I actually think this would give you the LNK2019 error, but you should double-check to make sure.

If that is not your problem, take a look here for other causes:
http://msdn.microsoft.com/en-us/library/f6xx1b1z(v=vs.100).aspx[^]


Soren Madsen


一个非常有用的工具,你可以用来找出缺少的确切API被称为''undname.exe'',它位于你的\VC \ bin目录中Visual Studio安装(例如,我的VS2010安装的D:\vs2010 \VC \ bin \ undname.exe)。您可以使用它来取消编译由编译器生成的名称。这是一个序列,它告诉您有关缺少的API的更多信息:



[请注意,上面消息中标记的名称是?Update @ MEngineComponent @@ UAEXXZ]



A very useful tool that you can use to figure out the exact API that is missing is called ''undname.exe'' which is in the \VC\bin directory of your Visual Studio installation (for example, "D:\vs2010\VC\bin\undname.exe" for my VS2010 installation). You can use it to undecorate a name that is generated by the compiler. Here is a sequence that tells you more about the missing API:

[Note that the name flagged in your message above is "?Update@MEngineComponent@@UAEXXZ"]

D:\whatever>cd \vs2010\VC\bin

D:\vs2010\VC\bin>undname ?Update@MEngineComponent@@UAEXXZ
Microsoft (R) C++ Name Undecorator
Copyright (C) Microsoft Corporation. All rights reserved.

Undecoration of :- "?Update@MEngineComponent@@UAEXXZ"
is :- "public: virtual void __thiscall MEngineComponent::Update(void)"

D:\vs2010\VC\bin>





错误的原因可能是未实现的头文件中的声明,声明和定义之间的参数列表不同,混合定义连接(即__thiscall,__ stdcall等),缺少导出细节(__ declspec(dllexport))或其他一些东西。



The cause of the error can be a result of a declaration in a header file that is not implemented, differing parameter list between declaration and definition, mixed definition of linkage (ie. __thiscall, __stdcall etc.), missing export details ("__declspec(dllexport)") or several other things.


这篇关于这个错误说的是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆