我浏览了this教程并试图重新创建我收到此错误的示例:
Error 1 error LNK2019: unresolved external symbol __imp__GetXyz@0 referenced in function _main app.obj app
如果我从网站下载源代码并在visual studio中运行该项目,它可以工作,但如果我甚至在我自己的visual studio解决方案中复制原始项目中的代码,它仍然无效。我想这肯定是一些项目设置,我不知道。怎么办?
答案 0 :(得分:2)
好像你错过了一些需要链接的外部库。无论什么提供GetXyz功能都缺失。
打开有效的解决方案,右键单击项目,属性,链接器,输入,并检查其附加依赖项列表。您需要将相同内容添加到您自己的项目中。
答案 1 :(得分:2)
您需要在项目设置中将XyzLibrary.lib添加到链接器设置。
如果您使用的是VisualStudio,也可以使用#pragma comment(lib,"xyzlibrary.lib")
直接在代码中执行此操作。
在没有这两种方法的情况下,它在给定样本中工作的原因是在解决方案文件中,依赖关系从XyzExe设置为XyzLib,而XyzProject在链接器设置中将“链接库依赖关系”设置为true。但是,我不太热衷于这种方法,因为我不喜欢存储对于构建内部解决方案文件很重要的数据(对于较大的项目,开发人员的解决方案文件可能与构建系统解决方案文件不同)