ath*_*hos 0 c++ projects-and-solutions visual-studio
一个解决方案SolA仅包含1个名为的项目PrjA。
PrjA是Win32控制台应用程序,编译结果为PrjA.exe。
如何将源代码文件拆分PrjA为PrjA1和PrjB,以便源代码的管理更加轻松,而编译结果PrjA1.exe与几乎相同PrjA.exe?
例如,我有PrjA:-
PrjA有300个.cpp文件。PrjA.exe 大小400KB。 我希望PrjA分为两个项目:
PrjA1有200个.cpp文件 PrjB有100个.cpp文件。PrjA1.exe 也约为400KB。 我不确定如何设置PrjB或它的编译结果是什么。
假设PrjB编译为PrjB.DLL100KB,大小,希望PrjA1.exe以某种方式嵌入其PrjB.dll内部。因此,大小为400KB。
我不需要300KB PrjA1.exe,它将PrjB.dll在运行时动态链接到100KB 。
问:我应如何设置PrjB,我应如何设置之间的联系PrjA1和PrjB?
与方案1相同,只是这一轮PrjA的编译结果是一个Windows DLL,名为PrjA.dll,该如何拆分PrjA为PrjA1和PrjB?
开发环境为Windows 7 64位下的Visual Studio 2013,但编译结果为32位。
小智 5
这是将现有代码移入静态库的方式。我使用VS2015,它应该与VS2013相同,但是我无法检查。我从以下解决方案结构开始:

首先要做的是将新项目添加到解决方案中。
File -> Add -> New project -> Win32 Project
然后在两个项目的解决方案资源管理器中单击“显示所有文件”图标。这将关闭过滤器并按原样显示项目文件夹。它看起来应该像这样:

现在参考您的图书馆。取消选中显示所有文件图标以显示引用。Right click -> Add reference并检查您的静态库项目:

最后要做的是将包含目录添加到使用该库的项目中。这是在项目属性中完成的。确保检查所有配置和所有平台:

而已。现在,当您构建解决方案时,VS会构建静态库,构建主项目并将它们链接在一起。结果应该与所有项目都在同一项目中一样。