托管c ++代码找不到函数实现

时间:2011-08-14 00:03:24

标签: c++ linker-errors managed-c++

我有3个文件:

  1. main“.h”文件 - 包含一个简单的WinForm(托管c ++)的实现
  2. 折叠/ file.h
  3. 折叠/ file.cpp
  4. (file.h和file.cpp不代表类)

    我有一个函数“func()”,它的声明在fold / file.h中,它的实现在fold / file.cpp中。

    main.h中包含“fold / file.h”

    当我从main.h调用 func()时,出现以下错误:“Unresolved token”和“Unresolved external error”。当我在fold / file.h中执行“func()”时,没有错误。

    有什么问题?

    谢谢!

1 个答案:

答案 0 :(得分:1)

  

当我在fold / file.h中执行“func()”时没有错误。

您是否正在编译所有源文件?我怀疑你不是因为当你将定义带到头文件并将其包含在主源文件中时,预处理器实际上将它复制到主源文件中。因此,在编译和链接主翻译单元时,编译器和链接器可以分别看到声明和定义。