错误LNK2019:未解析的外部符号。 c文件到cpp

时间:2013-11-25 19:14:29

标签: c++ visual-studio lnk2019

在C中创建了一个项目,其文件是来自http://www.codeproject.com/Articles/185522/Using-the-Raw-Input-API-to-Process-Joystick-Input的RawInput.c。我编译了它,它在vs2012中完美运行。但是当我在一个新项目的cpp中粘贴相同的代码时,我得到了4个这样的错误,只是不同的decleration名称。 错误LNK2019:未解析的外部符号“long __stdcall HidP_GetCaps(struct _HIDP_PREPARSED_DATA ....  致命错误LNK1120:4个未解决的外部因素 我想这与我尝试在c ++编译器中运行c代码而不告诉它正确的方式有关。也许在某处必须有外部的“C”?我甚至不知道我是否尽力在webb上寻找解决方案。帮助将不胜感激。谢谢。

3 个答案:

答案 0 :(得分:4)

似乎Hidsdh.h不是C ++兼容的头文件。像这样包括:

//This is not a C++ header
extern "C"
{
#include <Hidsdi.h>
}

答案 1 :(得分:2)

您可能需要添加包含HidP_GetCaps函数的库文件hidparse.lib。右键单击解决方案资源管理器中的项目,选择“属性”,然后在“链接器”部分(输入)下将hidparse.lib添加到“其他依赖关系”中。

答案 2 :(得分:1)

为项目属性添加库路径,如下所示。

  

C:\ Program Files(x86)\ Windows Kits \ 10 \ Lib \ 10.0.17134.0 \ um \ x64

添加一个库“ hid.lib”文件。