Visual Studio,将项目链接在一起并进行测试
Visual Studio, link projects together and test
我真的疯了。在过去的五年里,我一直在Linux中进行开发,所以我对visualstudio/microsoft世界有点陌生。
问题是:我有
- 一个由四个类组成的项目,链接到ITK库,以实现一些功能,如IO、数据转换等。这将在静态库或.lib中编译(我们称之为Algorithm)
- 一个定义公共高级函数调用的项目,它基于上面的静态库(让我们称之为AlgorithmFacade)
- 测试Algorithm类的UnitTest项目(让我们称之为AlgorithmTest)
现在,这就是我所做的
- 我创建了一个包含所有内容的解决方案
- 我在Algorithm中链接ITK库(即填写字段:Include、Additional Dependencies和Additional Library Dependency)
- #包括我想在AlgorithmFacade项目中使用的类标题
- 链接AlgorithmFacade中的ITK库的方式与我为Algorithm所做的方式相同,否则它会抱怨找不到"itkImage"之类的东西
- 对AlorithTest做完全相同的事情
- 运行测试
- 获得970个所有可能类型的警告
- 遵循可以忽略警告的城市传说
- 得到一个类似"我找不到Algorithm.lib的代码"的错误
- 绝望
我有一种过度设计的感觉。但如果我试图在一个项目中编写单元测试、外观和实现,VS会抱怨。
- 有更好的解决方案吗
- 我每次都必须从头开始包括所有的库吗
- 我不能只做一个包含这些库、单元测试和子项目的项目,会自动继承这些库吗
PS我使用的是本机C++,而不是CLR。
PPS我正在使用Visual Studio 2012
根据您给我们的几个错误,听起来AlgorithmFacade需要在其链接器->输入部分中包含Algorithm.lib。AlgorithmTest需要在链接器->输入部分也有Algorithm.lib,可能还有AlgorithmAfacade.lib。我仍然不确定什么项目使用什么。
您可能遇到的其他问题是生成订单问题。如果您在解决方案资源管理器中右键单击您的解决方案名称并下拉到属性,您将看到一个项目依赖项部分。AlgorithmFacade取决于Algorithm。AlgorithmTest也依赖于Algorithm。
此外,请确保您所做的任何更改都应用于您的版本的发布版本和调试版本,或者您可能拥有的任何其他版本。这可能是导致大量头痛的原因。
相关文章:
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- GoogleMock是否仍然打算与任何测试框架一起使用?
- 将图形属性与 std::unique_ptr 捆绑在一起
- G++10 的功能测试在 __cpp_lib_span 上失败
- 你能在 c++ 中将不同的数字类型加在一起吗?
- 如何将两个字符串加在一起,就好像它们是变量一样?
- 当返回语句时,逗号运算符、大括号初始化列表和 std::unique_ptr 组合在一起
- C++20 概念测试在 MSVS 16.5 中不起作用
- 为什么push_back和emplace_back结合在一起时,会有不同的行为
- CMake 测试在 MacOS 上找不到库
- 在浮点精度成为一个问题之前,可以将多少个浮点值加在一起
- 为什么在template函数广播中把两个extensor表达式加在一起不正确
- 实现具有浮点键的类似哈希表的数据结构,其中公差内的值被合并在一起
- 为什么这个简单的 C++ SIMD 基准测试在使用 SIMD 指令时运行速度较慢?
- 如何在Qt TableView中将列的宽度调整为数据并将最后一部分拉伸在一起
- 简单的 for() 循环基准测试在任何循环绑定下花费相同的时间
- 编译器如何将链表中的地址字符串在一起?
- 在 c++ 中,两个日志行与 log4Cxx 混合在一起
- 如何将两个 jlong 数据类型转换为 jstring,然后将两个字符串连接在一起以便从 JNI 将字符串返回给 jav
- Visual Studio,将项目链接在一起并进行测试