我正在尝试在Visual Studio 2017中使用本机单元测试项目为 C代码配置单元测试。但是有一些问题使用链接器工具错误LNK2001 时,在同一项目(lib)中包含来自其他库或其他 h文件的函数。
在没有单元测试项目的情况下构建lib时链接没有问题。
当我对一个没有其他依赖的 h 和 c-file 进行单元测试时,它可以正常工作。但是当我在其他h文件中包含调用函数时。我遇到链接问题。
它像mytest项目(c ++)一样,没有与项目(c)相同的访问权限。
我不知道如何解决错误。但我可以添加更多关于问题的信息,如果只需要询问,我会尝试得到它。
答案 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 。