c++,directx程序错误

出现unresolved external 函数名

这样的错误是什么导致的?

代码将产生此错误信息,如果它引用了(如函数,变量或标签) ,该连接器无法找到所有的图书馆和目标文件它的搜索。一般情况下,有两个原因发生此错误:什么代码要求不存在(符号拼写错误或使用了错误的情况下,例如) ,或要求的代码错误的(您使用的是混合版本图书馆?一些从一个版本的产品,另一些从另一个版本) 。

无数种编码和编译错误可能会导致LNK2001 。有几个具体原因下面列出,一些有联系的更详细的解释。
编码问题

不匹配的情况下在您的代码或模块定义( 。画质)文件可能会导致LNK2001 。例如,如果您命名一个变量“ var1 ”在一个C + +源文件,并尝试使用它作为“ VAR1 ”在另一个,你会收到此错误。解决办法是完全匹配的情况下,文中所有提及。

一个项目,使用功能内嵌尚未确定了职能。 cpp文件,而不是在头文件可能会导致LNK2001 。

如果您使用的是C + +中,请确保使用外部的“ C ”时调用C函数的C + +程序。通过使用外部的“ C ”您的使用武力的C命名约定。了解编译器开关一样/总蛋白或/锝武力将文件编译为一个C ( /技术合作)或C + + ( /总蛋白)档案不管文件扩展名,或者您可能会得到不同的函数名比您预期的。

试图参考功能或数据不具备的外部联系的原因LNK2001 。 C + +中,内置的功能和构造数据内部的联系,除非明确指定为外部。

丢失函数机构或变量会导致LNK2001 。刚刚一个函数原型或外部宣言将使编译继续,没有错误,但链接将无法解决您的电话的地址或参考变量,因为没有功能代码或变量空间保留。

姓名装修采用参数的函数进入最后装饰功能名称。调用一个函数的参数类型不匹配是在函数声明可能会导致LNK2001 。

错误包括原型将导致编译预期功能的机构,不提供。如果您同时拥有一类和非类执行函数F ,小心C + +的范围内解决的规则。

当使用C + +中,一定要包括执行特定功能的一类,而不只是一个原型的类的定义。

试图调用一个纯虚函数的构造函数或析构函数的抽象基类将导致LNK2001因为按照定义一个纯虚函数没有基类执行。

全球唯一的函数和变量是公开的。
职能宣布与静态修饰的定义文件的范围。静态变量具有相同的限制。试图访问任何静态变量以外的文件,他们被宣布可能会导致出现一个编译错误或LNK2001 。

一个变量的函数内宣布(一局部变量)只能使用范围之内的这一职能。

C + +的全球静态常量有联系。这是不同于c.如果您尝试使用全球不断在C + +的多个文件你错误LNK2001 。一个办法是包括常量初始化的一个头文件,其中包括在您的头。 cpp文件必要时,就好像它是一个函数原型。另一种办法是使变量非恒定和使用时参考不断评估它。

自己看,
温馨提示:答案为网友推荐,仅供参考