1

我很习惯 Linux 开发和 Makefile,不久前开始使用(Windows 和)Visual Studio。

我想要做的是(我认为)很简单,但我似乎无法找到如何使用 Visual Studio 来做到这一点。

我必须编写一个应用程序,我可以将其分成几个独立的子部分。我想逐步工作,并创建几个项目,这些项目与一个主文件一起最终成为我的完整项目。

我基本上想要的是能够编写一个小项目,有一个 main 以便我可以对其进行全面测试,并将其用作下一个项目的依赖项。在这种情况下,较小的 main 将被停用(或者我可以评论它),我只需更改启动项目。如果我在编写更大的软件时发现子集中的错误,我可以更改启动项目并以较小的规模解决它。

好吧,这就是我整天用 Python 和 Java 做的事情。

我试图在我的项目中创建新项目,但我总是遇到链接问题,我的主要项目知道子项目中的文件,但不知道较小的文件等。.

那么,我可以在某个地方找到以这种方式工作的指南吗?

谢谢

4

3 回答 3

2

对于单个项目:

每个单独的项目属性表都有一个 C++ 选项页面。您可以在此处以逗号分隔的形式指定“附加包含目录”。

同样,链接器应该有一个属性表,您可以在其中指定“附加包含依赖项”和它所依赖的库的名称。

对于主可执行文件的链接器依赖项:

转到那个主项目,转到它的属性,转到公共属性并选择“框架和参考”。这应该为您提供解决方案中所有项目的列表。继续添加它们,Visual Studio 应该会自动为您添加正确的链接器标志。

抱歉,现在无法访问计算机,否则会提供确切的步骤。Visual Studio 有时会变得很棘手,但一旦你使用它,你就会对它能为你做的事情感到惊讶。就个人而言,我喜欢它。

希望这可以帮助。

于 2012-11-02T08:09:46.420 回答
1

感谢 Vaibhav,我找到了解决方案:

我不得不 :

  • 将子项目类型更改为 lib 而不是 exe
  • 在主项目中添加子项目作为项目依赖项(这只是设置构建顺序)
  • 注释掉我的子项目的主要部分,只保留一个活动。
  • 在主项目的include repos中添加各个子项目的include目录,以便编译器可以找到头文件
  • 添加通用目录作为链接器的依赖项(在这种情况下,它不是子项目的调试/发布文件夹,而是整个项目的输出目录)。
  • 在主项目链接器的附加依赖项中添加子项目的lib文件的名称。

为了简单起见,VS2010 的项目依赖能力只是改变了项目的构建顺序。. . 我想念日食。

如果我发现错误并想测试子项目,我必须:

  • 将启动项目更改为我要更改的子项目。
  • 取消注释相应的 main
  • 将项目类型更改为 exe 而不是 lib 以便能够编译它。

调试,然后再次执行所有操作以继续处理我的主项目。很无聊,你不觉得吗?

于 2012-11-02T09:55:13.913 回答
0

看起来您正在尝试进行手动单元测试。使用类似Google.Test的东西。您需要为每个库制作测试项目。

我们有包含静态库项目的目录。另一个包含测试项目的目录。每个测试解决方案都包含一个 exe 项目和几个现有的 lib 项目。每个项目都配置了依赖项。您不需要手动设置链接器的其他依赖项(路径是邪恶的,lib 文件的输出目录将从项目设置中获取),用鼠标右键打开项目属性,公共属性,添加新引用并选择 lib 项目。您只需要设置其他包含目录。

当您发现新的错误时 - 只需打开有错误的库的测试项目,添加导致错误的代码,修复它,然后开心(有时运行所有测试)。甚至更好地使用TDD

于 2012-11-02T13:31:07.247 回答