除了头文件之外,您还需要使用头中定义的函数

时间:2011-01-31 07:01:32

标签: visual-c++ linker-errors

我有一个myheader.h文件,我已成功将它包含在我的VC ++项目中,但我无法使用它的任何功能。它给出了错误Unresolved external symbol(我的函数定义)。我错过了什么?

//Here is my code snippet
#include "myHeaders/myheader.h"
void main (){
    head_gen();
}

它没有构建,错误是

Unresolved external symbol void__head_gen()

等。它与.lib文件或其他东西有关吗?

2 个答案:

答案 0 :(得分:2)

您需要实现函数head_gen()。这可以在

  • 源文件,
  • 目标文件或
  • 图书馆

你应该让其中一个人获得头文件。

如果您有.cpp文件,请将其添加到您的项目中。

如果您有.obj或.lib文件,请在项目属性中将其添加为依赖:

Configuration Properties / Linker / Input -> Additional Dependencies

如果.obj或.lib文件与项目位于不同的目录中,请不要忘记添加路径:

Configuration Properties / Linker / General -> Additional Library Directories

答案 1 :(得分:1)

我主要在Linux上开发并使用vi作为编辑器。但是当我看到这样的错误时,通常是以下原因之一:

  1. 函数head_gen()namespace下定义,使用head_gen()的源代码没有using namespace语句。
  2. head_gen()中是否定义了myHeader.cpp?这可能是该功能不“可见”的另一个原因。
  3. HTH,
    斯利拉姆