Visual Studio 2010 C++项目结构
Visual Studio 2010 C++ Project structure
我构建了一个C++类,它接受用户提供的文件路径和文件模式,并在提供的位置搜索文件模式。例如:C:\MyProject*.cpp列出给定位置中的所有.cp文件。
我能够成功地构建和编译这个项目。现在我想要一个名为Executive的不同项目,它只包含一个main(),并且做与上面提到的C++类相同的事情。
现在的结构看起来像:
VS2010 Solution
- Navigator
-Headers
f1.h
f2.h
f3.h
-Source
f1.cpp
f2.cpp
f3.cpp
比方说,我想在相同的解决方案下有另一个名为Main/Executive的项目,其主要目的是有一个与导航器中的Main项目做相同事情的Main函数。
我的问题是,同一解决方案下的Executive项目有main.cpp,可能还需要navigator项目的所有*.h文件的副本。我是否还需要将navigator的*.cpp文件复制到Executive项目以使main工作?还是我应该只在Executive项目中添加main,并添加hte Navigator项目作为对Executive项目的引用?
在Visual Studio中打开解决方案,从"新建项目"窗口的下拉列表中选择"添加到解决方案"选项,并将其命名为Executive。
现在,当您在同一解决方案下有更多项目时,您可以转到Executive项目的属性,并在C/C++->General中将Additional Include Directories设置为../Navigator/Headers;../Navigator/Source;
。
然后,在Executive项目的所有源文件中,您可以包括Navigator项目中的.cpp文件,例如:#include "f1.cpp"
。包含.cpp文件并没有错。
但是,如果打开导航器项目的属性->General会更好,将配置类型更改为静态库(.lib)。然后在Executive项目中,将Additional Include Directories设置为../Navigator/Headers;
,在Linker->General中将Additional library Directories设置到Navigator项目的输出文件夹(如果未更改其输出目录,则为调试配置的../Debug
和../Release
),在Linker->Input中,在Additional的末尾添加;Navigator.lib
依赖项。然后在Executive项目的源文件中,您只需要包含.h文件。为了确保在构建整个解决方案时,Navigator项目是在Executive项目之前构建的,您可以转到解决方案的属性->项目依赖项,并在那里设置Executive项目依赖于Navigator项目。
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- 用于对项目进行分组并将单个项目映射到其他组成员的数据结构
- 如何使用矢量元素将项目添加到结构中?
- 在OSx:ld上使用CMake构建C++项目:找不到体系结构x86_64的符号
- 项目的生成文件,代码位于多个目录中,但目录结构相同
- CMake 项目结构:如何正确地将库合并在一起并将它们包含在多个可执行文件中
- 正确设置 BGFX(和项目结构)
- 无法生成项目,出现错误 - 未定义的体系结构符号 x86_64:"_JNI_CreateJavaVM"
- C :多文件C 项目中的相互引用的结构
- 与公开暴露的标头有关的C 项目结构
- Windows MSG 结构与旧项目代码结构 MSG 冲突
- 在类中使用结构时,我不断收到错误 C2797,并且它只发生在特定项目中
- 单源项目结构的缺点是什么?
- C 使用字符串项目在列表中查找结构
- 多平台C++项目结构
- Qt项目结构
- 在Visual Studio 15社区中构建Lua的解决方案/项目结构
- Visual Studio 2010 C++项目结构
- c++ makefile构建多个dll和项目结构
- CMake:具有单元测试的项目结构