gpt4 book ai didi

c++ - Visual Studio 2010 C++ 项目结构

转载 作者:行者123 更新时间:2023-11-28 03:41:31 25 4
gpt4 key购买 nike

我构建了一个 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。

现在当您在同一解决方案下有更多项目时,您可以转到执行项目的属性,并在 C/C++ -> 常规中将附加包含目录设置为 ../Navigator/Headers;../Navigator/来源;

然后在 Executive 项目的所有源文件中,您可以包含来自 Navigator 项目的 .cpp 文件,例如:#include "f1.cpp"。包含 .cpp 文件没有错。

但是,如果您打开 Navigator 项目的 Properties -> General,将 Configuration type 更改为 Static library (.lib) 会更好。然后在 Executive 项目中将附加包含目录设置为 ../Navigator/Headers; 并在 Linker -> General 中将附加库目录设置为 Navigator 项目的输出文件夹(如果您没有更改它的输出目录是 ../Debug 用于调试配置和 ../Release) 并在 Linker -> Input 中添加 ;Navigator.lib 在附加依赖项的末尾。然后在 Executive 项目的源文件中,您只需要包含 .h 文件。为了确保在构建整个解决方案时 Navigator 项目先于 Executive 项目构建,您可以转到解决方案的属性 -> 项目依赖项并在那里设置 Executive 项目依赖于 Navigator 项目。

关于c++ - Visual Studio 2010 C++ 项目结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9048872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com