0

我浏览了教程并尝试重新创建我收到此错误的示例:

Error   1   error LNK2019: unresolved external symbol __imp__GetXyz@0 referenced in function _main  app.obj app

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

4

2 回答 2

2

似乎您缺少一些需要链接的外部库。缺少提供 GetXyz 功能的任何东西。

打开有效的解决方案,右键单击项目、属性、链接器、输入,然后检查它们的附加依赖项列表。您需要将其添加到您自己的项目中。

于 2012-09-19T09:03:35.147 回答
2

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

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

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

于 2012-09-19T09:06:03.913 回答