如何在 Visual Studio 中将 C++ 项目拆分为两个?
How to split a C++ project into two in Visual Studio?
场景一
解决方案 SolA
仅包含 1 个名为 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
,它会在运行时动态地 link 到 100KB PrjB.dll
。
问题:PrjB
怎么设置,PrjA1
和PrjB
之间的link怎么设置?
场景 2
同场景一,只是这一轮PrjA
的编译结果是一个windows DLL,名称为PrjA.dll
,请问如何将PrjA
拆分成PrjA1
和 PrjB
?
开发环境是Visual Studio2013下windows7 64位,但是编译结果是32位。
这就是将现有代码移动到静态库中的方法。我用的是VS2015,应该和VS2013是一样的,但是我查不到。我从以下解决方案结构开始:
首先要做的是将新项目添加到解决方案中。
File -> Add -> New project -> Win32 Project
选中静态库并取消选中预编译头文件
然后在两个项目的解决方案资源管理器中单击显示所有文件图标。这将关闭过滤器并按原样显示项目文件夹。它应该是这样的:
将所有需要的文件从一个项目拖放到另一个项目:
现在引用您的图书馆。取消选中显示所有文件图标以显示引用。 Right click -> Add reference
并检查您的静态库项目:
最后要做的是将 include 目录添加到使用该库的项目中。这是在项目属性中完成的。请务必检查所有配置和所有平台:
就是这样。现在,当您构建解决方案时,VS 会构建您的静态库、构建您的主项目并将它们链接在一起。结果应该是相同的,就好像一切都在同一个项目中一样。
场景一
解决方案 SolA
仅包含 1 个名为 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
,它会在运行时动态地 link 到 100KB PrjB.dll
。
问题:PrjB
怎么设置,PrjA1
和PrjB
之间的link怎么设置?
场景 2
同场景一,只是这一轮PrjA
的编译结果是一个windows DLL,名称为PrjA.dll
,请问如何将PrjA
拆分成PrjA1
和 PrjB
?
开发环境是Visual Studio2013下windows7 64位,但是编译结果是32位。
这就是将现有代码移动到静态库中的方法。我用的是VS2015,应该和VS2013是一样的,但是我查不到。我从以下解决方案结构开始:
首先要做的是将新项目添加到解决方案中。
File -> Add -> New project -> Win32 Project
选中静态库并取消选中预编译头文件
然后在两个项目的解决方案资源管理器中单击显示所有文件图标。这将关闭过滤器并按原样显示项目文件夹。它应该是这样的:
将所有需要的文件从一个项目拖放到另一个项目:
现在引用您的图书馆。取消选中显示所有文件图标以显示引用。 Right click -> Add reference
并检查您的静态库项目:
最后要做的是将 include 目录添加到使用该库的项目中。这是在项目属性中完成的。请务必检查所有配置和所有平台:
就是这样。现在,当您构建解决方案时,VS 会构建您的静态库、构建您的主项目并将它们链接在一起。结果应该是相同的,就好像一切都在同一个项目中一样。