首页 > 解决方案 > 如何将 obj 文件添加到 C++ 项目

问题描述

这是关于使用项目属性将 .obj 文件添加到 C++ Win32 项目。网络上有多个关于添加链接器/输入/附加依赖项的路径的参考资料,但这不起作用。

通常在单元测试中提到它,但它与精简控制台项目的行为相同。尝试过 Visual Studios 2019 和 2008。.obj 文件包含一个具有单个公共方法的类。没有外部依赖。

我可以将它直接添加到项目中(就像另一个 .cpp 文件一样),但由于某种原因,所有来源都建议使用项目属性。我错过了一些明显的东西吗?

标签: c++windowsvisual-studiounit-testing

解决方案


我不明白这个问题是关于什么的,但我想您想将目标代码(.obj)链接到您的构建。

在 C++ 中,我们使用库(.lib 或 .a)作为外部依赖项,它只不过是针对特定操作的许多目标文件的集合。也可以有一个。我们在库中使用许多目标文件只是为了让事情变得简单,否则我们可以选择只使用一个。

库与目标文件

目标文件用于翻译单元,它是在我们编译而不链接时生成的。库用于包含许多相互链接的目标文件的完整项目。目标文件可以用作库,但这不合适。

链接一个库来构建相当于链接它的所有目标代码。因此,您可以选择从命令行手动链接目标代码。您无法从属性页链接目标代码。我不知道您是如何在没有源代码的情况下获得目标代码的,但是有一种方法可以间接添加目标代码。

只需使您的目标代码成为一个库。为此,请打开开发人员命令提示符(您也可以将工具集目录添加到 PATH)。然后通过这个命令

lib /out:library.lib object.obj

现在从属性页面将 library.lib 添加到您的项目中。


推荐阅读