创建C代码的unit testing时LNK2001的问题

我正在尝试使用Visual Studio 2017中的本机unit testing项目C代码配置unit testing 。但是当包含来自其他库的函数或甚至同一项目(lib)中的其他h文件时, 链接器工具错误LNK2001存在一些问题。

在没有Unit Test项目的情况下构建lib时链接没有问题。

当我对一个没有其他依赖的hc文件进行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