2012-01-28 173 views
0

我构建了一个C++类,它接受来自用户的文件路径和文件模式,并在提供的位置搜索文件模式。例如:C:\ MyProject * .cpp列出给定位置中的所有.cp文件。Visual Studio 2010 C++项目结构

我能够成功构建和编译项目。现在我想要一个名为Executive的不同项目,它只包含一个main(),并且执行与上面提到的C++类相同的事情。

现在的结构是这样的:

VS2010 Solution 
    - Navigator 
     -Headers 
      f1.h 
      f2.h 
      f3.h 
     -Source 
      f1.cpp 
      f2.cpp 
      f3.cpp 

可以说,我想有相同的解决方案下的另一个项目,并要求主/执行,其主要目的是有,做同样的事,作为一个主要功能主要在导航器项目中。

我的问题是,同样的解决方案下执行的项目有main.cpp中,可能还需要导航项目的所有* .h文件的副本。我是否还需要将导航器的* .cpp文件复制到主要工作的Executive项目中?或者我应该只在主管项目中加入主管,并将hte Navigator项目添加为执行项目的参考?

回答

2

在Visual Studio中打开解决方案,从New Project窗口中,从该下拉列表中选择“添加到解决方案”选项并将其命名为Executive。

现在,当您在同一个解决方案下有更多的项目时,您可以转到Executive项目的属性,并在C/C++ - > General中将其他包含目录设置为../Navigator/Headers;../Navigator/Source;

然后在执行项目的所有源文件,您可以包含导航项目.cpp文件,例如:#include "f1.cpp"。包含.cpp文件没有错。

但是,如果打开导航器属性项目 - >常规,将配置类型更改为静态库(.lib)会好得多。然后在执行项目设置附加包含目录,以../Navigator/Headers;和链接器 - >常规设置附加库目录,以导航项目的输出文件夹(如果你没有改变它的输出目录是../Debug的调试配置和../Release)和在链接器 - >输入中添加;Navigator.lib在其他依赖关系的末尾。然后在执行项目的源文件中,您只需包含.h文件。为了确保Navigator项目在执行项目之前构建整个解决方案时,可以转到解决方案的属性 - >项目依赖关系,并在那里设置执行项目依赖于Navigator项目。

+0

*没有什么错,包括.cpp文件。*除语义... – 2012-01-28 22:41:00

+0

我编辑我的答案,写有其他(更好)的方式该怎么做。 – LihO 2012-01-28 23:01:03

+0

这回答我的问题ThanksLihO我会尝试一下。 – 2012-01-28 23:18:18

相关问题