创建C代码的unit testing时LNK2001的问题
我正在尝试使用Visual Studio 2017中的本机unit testing项目为C代码配置unit testing 。但是当包含来自其他库的函数或甚至同一项目(lib)中的其他h文件时, 链接器工具错误LNK2001存在一些问题。
在没有Unit Test项目的情况下构建lib时链接没有问题。
当我对一个没有其他依赖的h和c文件进行unit testing时,它工作正常。 但是当我在其他h文件中包含调用函数时。 我遇到链接问题。
它像mytest项目(c ++)一样,没有与项目(c)相同的访问权限。
我不知道如何解决错误。 但我可以添加更多关于问题的信息,如果只需要询问,我会尝试获取它。
当您包含C函数的声明时,您还必须向Visual Studio中的C ++编译器解释C头。 所以你的myTes.cpp
应该以:
extern "C" { #include "somecode.h" }
static_lib1.h
应包含以下内容:
#ifndef STATIC_LIB1_H_ #define STATIC_LIB1_H_ SWord doSomeThing(); #endif
我认为这应该解决您的问题链接器工具错误LNK2001 。