LNK2019未解决的外部因素

时间:2013-10-02 02:37:23

标签: c++ visual-c++

我有一些测试代码:

foo.h中

#ifndef FOO_H
#define FOO_H

void Foo(int iBar);

#endif FOO_H

Foo.cpp中

#include "foo.h"

void Foo(int iBar)
{
    // Do nothing...
}

的main.cpp

#include "foo.h"

int main()
{
    Foo(1);

    return 0;
}

当我在VS2010中构建上述代码时,我收到链接器错误:

  

错误LNK2019:函数_main

中引用的未解析的外部符号“void __cdecl Foo(int)”(?Foo @@ YAXH @ Z)

我无法弄清楚为什么我的Foo()函数在链接时无法解析。任何人都可以给我一些关于我可能做错了什么的见解吗?

1 个答案:

答案 0 :(得分:0)

因此,经过一些试验和错误后,我通过将定义代码从foo.cpp移动到foo.h来获得成功构建的代码。

无论出于何种原因,似乎foo.cpp没有被绑定到foo.obj。我有分别在log.h和log.cpp中声明和定义的全局日志实用程序函数,就像我在上面的测试'foo'文件中一样,但我编译并将它们链接到我的程序没有问题。我想知道我在做什么,有一个没有问题的链接,而另一个没有识别cpp文件。