2012-09-19 105 views
0

我通过this教程走,并试图重建的例子,我得到这个错误:链接DLL错误的Visual Studio

Error 1 error LNK2019: unresolved external symbol [email protected] referenced in function _main app.obj app 

如果我从网站上下载的源代码并运行在Visual Studio中它的工作项目,但如果我甚至在我自己的Visual Studio解决方案中复制原始项目中的代码,它仍然不起作用。我想这肯定是一些项目设置,我不知道。做什么?

回答

2

您需要将XyzLibrary.lib添加到项目设置中的链接器设置中。

如果您使用的是VisualStudio,您还可以直接在代码中使用#pragma comment(lib,"xyzlibrary.lib")

在没有这两种方法的情况下,它在给定样本中工作的原因是在解决方案文件中,依赖关系从XyzExe设置为XyzLib,并且XyzProject在链接器设置中将“链接库依赖关系”设置为true。然而,我并不太喜欢这种方法,因为我不喜欢存储重要的数据以建立内部解决方案文件(对于大型项目,开发人员的解决方案文件可能与构建系统解决方案文件不同)

+0

它确实解决了这个问题,但我仍然无法找到这个人是如何做到的。 – AlexandruC

+2

编辑了答案来解释它为什么起作用。 –

+0

我明白了。感谢您的时间。 – AlexandruC

2

好像你缺少一些需要链接的外部库。无论提供什么GetXyz函数都缺失。

打开解决方案,右键单击项目,属性,链接器,输入,并检查他们的附加依赖项列出了什么。您需要将其添加到您自己的项目中。

+0

不是,它是空的。他们什么都没有。 – AlexandruC