Visual Studio引用标头和源文件

时间:2014-02-18 16:37:24

标签: c header include visual-studio-2013 unresolved-external

我在visual studio中有一个名为“Framework”的C项目。

Framework项目应该包含应该在不同项目之间共享的公共代码。

我还有另一个应该使用Framework中代码的项目(让我们称之为A)。

让我们说Framework项目有一个名为DAL.h的头文件,其中包含一个名为OpenFile的函数声明,该函数在DAL.c中实现。

我正在尝试将DAL.h包含到我的A项目中并使用OpenFile但是我收到以下错误:未解析的外部符号_OpenFile

我明白编译器无法找到OpenFile的实现。

我的问题是,在这里描述的案例中,最佳做法是什么?

我应该“添加现有项目”并将DAL.c添加到我的A项目中吗? (这解决了错误..)

我确实尝试将包含DAL.c的文件夹添加到“其他源文件夹”但这没有帮助。

非常感谢, 迈克尔。

1 个答案:

答案 0 :(得分:1)

为了使用OpenFile函数的已编译代码,它需要存在于某处。

您似乎有两种选择:

1)如果您希望编译的代码成为二进制文件的一部分,则需要包含源文件,以便将其编译为项目的一部分。

2)如果你不希望它被构建到你的项目中,并且从它的声音中你没有像你说的那样“应该在不同项目之间共享的公共代码”,“框架项目”应该编译成一个库。在这种情况下,您只需要包含DAL.h头文件,并将“Framework项目”库导入到项目中,以便项目可以将OpenFile调用链接到库中的实现。