为C代码创建单元测试时LNK2001的问题

时间:2018-06-11 14:07:46

标签: c visual-studio unit-testing

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

在没有单元测试项目的情况下构建lib时链接没有问题。

当我对一个没有其他依赖的 h c-file 进行单元测试时,它可以正常工作。但是当我在其他h文件中包含调用函数时。我遇到链接问题。

它像mytest项目(c ++)一样,没有与项目(c)相同的访问权限。

我不知道如何解决错误。但我可以添加更多关于问题的信息,如果只需要询问,我会尝试得到它。

1 个答案:

答案 0 :(得分:1)

当您包含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