Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在另一个项目visual studio中使用来自一个项目的对象文件_C++_Visual Studio_Linker - Fatal编程技术网

C++ 在另一个项目visual studio中使用来自一个项目的对象文件

C++ 在另一个项目visual studio中使用来自一个项目的对象文件,c++,visual-studio,linker,C++,Visual Studio,Linker,考虑具有多个项目的VisualStudio解决方案,一些源文件用于多个项目。 我目前在每个项目中包含多个项目中使用的源文件,但这会导致为每个项目编译相同的源文件。有没有办法将单个项目指定为一个构建文件的项目,并链接到所有其他项目中的构建对象 我知道创建静态库的选项,但我想知道是否可以在解决方案中直接指定项目之间的依赖关系,就像编写makefile一样 从2010年开始,搜索发现了一个关于该主题的问题,但没有合适的解决方案: 您可以指定项目依赖项,但为了在项目之间使用相同的源,您需要创建一个静态库

考虑具有多个项目的VisualStudio解决方案,一些源文件用于多个项目。 我目前在每个项目中包含多个项目中使用的源文件,但这会导致为每个项目编译相同的源文件。有没有办法将单个项目指定为一个构建文件的项目,并链接到所有其他项目中的构建对象

我知道创建静态库的选项,但我想知道是否可以在解决方案中直接指定项目之间的依赖关系,就像编写makefile一样

从2010年开始,搜索发现了一个关于该主题的问题,但没有合适的解决方案:

您可以指定项目依赖项,但为了在项目之间使用相同的源,您需要创建一个静态库或dll并与之链接。您可以在项目设置中设置这些配置,这样就不会有显示链接的代码,这些都是在编译/链接语句

中完成的。您可以考虑创建一个具有多个项目的解决方案,并且您正确地设置了每个项目的类型,这样“基本项目”总是在构建依赖它的其他项目之前构建。

正如您所提到的,静态库是实现这一点的最佳项目类型。将所有公共文件分组到一个静态库项目中,并在DLL或exe项目上使用添加依赖项选项创建对库的依赖项。右键单击VS解决方案资源管理器窗格中的项目即可获得该选项

注意一件事:如果在库之间创建一个级联依赖关系,它们将变得越来越大,链的最后一个库将包含所有其他库的所有符号。。。一种.obj文件的cat