在另一个项目visualstudio中使用一个项目中的对象文件
use object files from one project in another project visual studio
考虑具有多个项目的visual studio解决方案,一些源文件用于多个项目。我目前在每个项目中包含多个项目中使用的源文件,但这会导致为每个项目编译相同的源文件。是否有任何方法可以将单个项目指定为生成文件的项目,并链接到所有其他项目中的已生成对象。
我知道创建静态lib的选项,但我想知道是否可以直接指定解决方案中项目之间的依赖关系,就像编写makefile一样。
搜索显示了2010年以来关于该主题的单一问题,但没有合适的解决方案:如何在同一解决方案中的不同项目中使用相同的obj文件
您可以指定项目依赖项(http://msdn.microsoft.com/en-us/library/et61xzb3(v=vs.80).aspx),但为了在项目之间使用相同的源,您需要创建一个静态lib或dll并与之链接。您也可以在项目设置中设置这些配置,这样您就不会有显示链接的代码,这一切都是在编译/链接语句
您可能会考虑的一件事是创建一个有多个项目的解决方案,并正确设置每个项目的构建依赖关系,以便"基本项目"总是在其他项目之前构建,这取决于它的构建。
正如您所提到的,静态库是实现这一点的最佳项目类型。将所有公共文件分组到一个静态库项目中,并在DLL或exe项目上使用"添加依赖项"选项创建对库的依赖项,右键单击VS解决方案资源管理器窗格中的项目即可获得该选项。
注意一件事:如果你在库之间创建一个级联的依赖关系,它们会变得越来越大(链的最后一个库将包含所有其他库的所有符号…一种.obj文件的cat…)
相关文章:
- 运行同一解决方案的另一个项目的项目
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 从链接列表c++中删除一个项目
- 在Qt/C++中从一个代码构建两个略有不同的项目
- 如何在 c++ 项目中包含一个包含所有头文件?
- MacOS 上的 Xcode 11 项目不在一个函数中使用 sin 和 cos:未定义的符号"___sincosf_stret"
- 在矢量中使用擦除时双重释放或损坏(快速顶部).如何擦除一个矢量的几个项目知道它们的索引?
- 在macOS上使用libcurl库编译一个c++at项目
- 如何有效地将(一些)项目从一个std::map移动到另一个std::map
- 仅从无序集合中删除一个项目
- 如何在一个简单的C++项目中使用Poco库
- 是否可以将 EXE 文件作为 lib 文件链接到另一个项目?
- 从另一个动态链接库项目调用静态库函数
- 如何在QListWidget中显示QStringList的每个项目QLabel和另一个QString?
- 如何编译和运行一个新的 C++ Actor 框架项目?
- 欧拉项目#8:C++错误的答案(为一个小的炮制输入给出正确的答案)
- 如何使用另一个项目命名空间?
- 如何在不创建新配置的情况下对两个不同解决方案使用的一个项目使用不同的 #defines
- 如何将一个 exe 项目链接到另一个 exe 项目中的类
- NetBeans - 两个项目 - 一个找不到要包含的文件 (C++)