Visual studio单元测试静态库;防止主项目中的附加依赖项
Visual studio unit testing a static library; prevents additional dependencies in main project
我有一个项目要在Visual Studio 2013中进行单元测试。在收到一些链接器错误并阅读了这个问题的答案后,我将项目类型更改为静态库(lib)。
我不了解c++中编译和链接的基本机制。在将我的项目更改为静态库的过程中,我似乎失去了指定额外依赖项的能力,这很痛苦,因为我的主项目需要三个库来测试。
我应该做什么来测试这个项目,有没有办法让我的项目成为一个静态库,并且仍然指定额外的依赖项?
现在,当您最终创建一个可执行文件(或动态库)时,您应该链接所有必要的依赖项。
但是,请注意,除了上面描述的"经典"构建过程之外,VisualStudioIDE还提供了抽象(方便,但有时有点误导,尤其是对新手来说),称为"项目引用"answers"项目依赖项"。有一些选项可以使静态库"依赖"于其他静态库。此外,可执行文件可以依赖于第一个静态库。当"链接依赖项"被启用时,VisualStudio将递归地解析整个依赖链,并将所有必要的链接到您的可执行文件中。
另请参阅:
Visual Studio 2010中的"链接库依赖项"链接器选项的实际作用是什么?
MSDN-C/C++构建参考
MSDN-演练:创建和使用静态库(C++)
什么是未定义的引用/未解决的外部符号错误,如何修复?
相关文章:
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- 如何将外部依赖引入跨平台CMake项目?
- 项目 A 依赖共享库 B,B 依赖 C,A 不依赖 C。当我使用 B 的 API 时,警告 B 找不到 C
- 如何将 emscripten 与 cmake 用于项目依赖项
- CMAKE:如何引用和构建单独的 CMAKE 项目依赖项?
- C 项目依赖项无法在特定的MacOS框上编译
- git克隆器的项目依赖项
- 如何在Visual Studio中将项目依赖项/引用从一个项目继承到依赖项目
- 如何检查哪些项目依赖于.cpp文件
- Visual Studio(2015)C项目依赖项-必须定义LNK1561入口点
- 自动制作和项目依赖项
- Eclipse CDT中的项目依赖项
- 项目依赖顺序- VS2013
- 为什么MSVS 2010 MFC项目依赖于MSVS 2008的vcredist_x86.exe
- 将所有项目依赖项放入项目的存储库中是好的做法吗?
- Embarcadero c++ Builder:可传递的项目依赖项和包含项
- 在vc++ 2008中,三个级别的项目依赖关系导致不是所有的东西都链接在一起
- Visual Studio:如何正确处理项目依赖关系
- Visual Studio 2010 2005解决方案的转换(c++项目)失去了项目依赖关系
- Eclipse CDT/Qt:有一个Qt Gui项目依赖于工作空间中的另一个c++项目