【发布时间】:2016-09-05 16:51:12
【问题描述】:
场景 1
一个解决方案SolA只包含一个名为PrjA的项目。PrjA是一个Win32控制台应用程序,编译结果是PrjA.exe。
如何将PrjA中的源代码文件拆分为PrjA1和PrjB,这样源代码的管理更容易,而编译结果PrjA1.exe几乎和PrjA.exe?
例如,我有PrjA :-
-
PrjA有 300 个.cpp文件。 -
PrjA.exe大小为 400KB。
我希望将PrjA 拆分为 2 个项目:-
-
PrjA1有 200 个.cpp文件 -
PrjB有 100 个.cpp文件。 -
PrjA1.exe也是 400KB 左右。
我不确定如何设置 PrjB 或它的编译结果。
假设PrjB 编译为PrjB.DLL,大小为100KB,我希望PrjA1.exe 能以某种方式将PrjB.dll 嵌入到自身内部。因此大小为 400KB。
我不想要 300KB PrjA1.exe,它会在运行时动态链接到 100KB PrjB.dll。
问题:如何设置PrjB,如何设置PrjA1和PrjB之间的链接?
场景 2
同场景一,只是这一轮PrjA的编译结果是一个windows DLL,命名为PrjA.dll,如何将PrjA拆分成PrjA1和PrjB?
开发环境是windows 7 64位下的Visual Studio 2013,但是编译结果是32位的。
【问题讨论】:
-
完全不清楚你在问什么: >我应该如何拆分 ProjA int PrjA1 和 PrjB,以便编译结果 PrjA1.exe 与 PrjA.exe 几乎相同?
-
@TomasZubiri 谢谢。我刚刚更新了问题
-
目前还不清楚拆分是什么意思。如果 prjA 拆分为 PrjA1 和 PrjB ,但 PrjA1 产生相同的输出。 PrjB 将包含什么? PrjA1 不会包含所有 prjA 吗?
-
@TomasZubiri what split is the source code files,但我希望编译结果,exe文件在代码拆分后几乎保持不变。
-
您可能应该创建一个概念验证测试项目,其中只有两个或三个源文件,然后您可以在解决方案下的单独项目中拥有它们。通常,不是 Visual Studio 或 Windows 特定的,您将拥有生成可执行文件的应用程序项目,以及具有共享代码的库项目,它们生成(静态或共享)库文件。一个可执行项目不会使用来自其他可执行项目的代码,只会使用来自其他库项目的代码。
标签: c++ visual-studio projects-and-solutions