我有一个 c++ Visual Studio 项目(比如 p1),其中一个头文件(比如 h1.h)我有 #define a 5 该项目还有许多其他 .cpp 文件,其中许多包括 h1.h
现在我想要一个不同的独立项目(比如 p2),其中唯一的变化是在 h1.h 中,即 #define a 6
我想在 p2 中重用 p1 的所有文件。问题是我有什么方法可以设计这样我在同一个解决方案中有两个这样的项目而不会复制太多文件。
我有一个 c++ Visual Studio 项目(比如 p1),其中一个头文件(比如 h1.h)我有 #define a 5 该项目还有许多其他 .cpp 文件,其中许多包括 h1.h
现在我想要一个不同的独立项目(比如 p2),其中唯一的变化是在 h1.h 中,即 #define a 6
我想在 p2 中重用 p1 的所有文件。问题是我有什么方法可以设计这样我在同一个解决方案中有两个这样的项目而不会复制太多文件。
您能否为您的项目使用类似这样的文件夹结构:
MySolution\
Common\
Proj1\
Proj2\
如果您(或 IDE)不喜欢“Common”文件夹,您也可以将公共文件保留在“MySolution”文件夹中,并包含以下语句:
#include "../h1.h"
在您的项目中获取公共文件。您还可以在多个项目中包含来自公共文件夹的共享代码文件。当它们都在同一个层次结构中时,IDE 似乎很满意,但如果它们处于完全不同的层次结构中,它可能会抱怨(但仍然有效)。
将所有常用文件放在common_dir\*.cpp
文件夹中,将头文件放在p1_dir\h1.h
和p2_dir\h1.h
.
我最终做的是将#define 作为项目设置中的预处理器指令(只是将其移出代码头文件),这解决了我的问题。