Visual Studio,将项目链接在一起并测试

时间:2016-05-18 21:42:50

标签: c++ visual-studio-2012 libraries

我严重失去理智。我在过去的五年里一直在Linux上开发,所以我对视觉工作室/微软世界有点新意。

问题在于:我有

  • 一个由四个类组成的项目,链接到ITK库,以实现一些功能,如IO,数据转换等。这将在静态库或.lib中编译(让我们称之为算法);
  • 定义公共高级函数调用的项目,它基于上面的静态库(让我们称之为 AlgorithmFacade
  • 测试Alogirthm类的UnitTest项目(让我们称之为 AlgorithmTest

现在,这就是我的工作

  • 我创建了一个包含所有
  • 的解决方案
  • 我在算法中链接ITK库(即填写字段:包括,附加依赖项和附加库依赖项)
  • #include我想在AlgorithmFacade项目中使用的类标题
  • 以与算法相同的方式链接AlgorithmFacade中的ITK库,否则它会抱怨它无法找到" itkImage"和那样的东西
  • 为AlorithmTest做同样的事情
  • 运行测试
  • 获取所有可能类型的970警告
  • 按照城市传说警告可以忽略
  • 收到类似&#34的错误;我找不到Algorithm.lib"
  • 的代码
  • 绝望。

我有点感觉我在设计它。但是,如果我尝试在一个项目中编写单元测试,外观和实现VS抱怨。

  • 有更好的解决方案吗?
  • 每次从头开始都要包含所有库吗?
  • 我只是做一个项目,包括这些库和单元测试以及自动继承这些库的子项目?

PS我使用的是原生C ++,而不是CLR。

PPS我正在使用Visual Studio 2012

1 个答案:

答案 0 :(得分:0)

基于你给我们的几个错误,听起来像AlgorithmFacade需要在其链接器 - >输入部分中有Algorithm.lib。 AlgorithmTest也需要在其链接器 - >输入部分中包含Algorithm.lib,并且可能还有AlgorithmFacade.lib。我还不确定哪些项目会使用什么。

您可能遇到的其他问题是构建订单问题。如果右键单击解决方案资源管理器中的解决方案名称并下拉到属性,您将看到项目依赖项部分。 AlgorithmFacade依赖于算法。 AlgorithmTest还依赖于算法。

此外,请确保您所做的任何更改都适用于您的版本的发布版本和调试版本,或者您可能拥有的任何其他版本。这可能是大规模头痛的原因。