C++ LNK2019从C+;中的头文件调用函数时出错+;

C++ LNK2019从C+;中的头文件调用函数时出错+;,c++,C++,我试图从头文件LG101API.h调用API。我将其链接到Leds.cpp中,如下所示#include“LG101API.h”。该项目有一个dll和库LG101API.dllLG101API.lib。我在linker>input中链接了lib,并将路径添加到linker>general>additionallibrary目录。现在,我继续得到 LNK2019 unresolved external symbol "__declspec(dllimport) int __stdcall KC_LG

我试图从头文件LG101API.h调用API。我将其链接到Leds.cpp中,如下所示#include“LG101API.h”。该项目有一个dll和库
LG101API.dll
LG101API.lib
。我在linker>input中链接了lib,并将路径添加到linker>general>additionallibrary目录。现在,我继续得到

LNK2019 unresolved external symbol "__declspec(dllimport) int __stdcall KC_LG101_OPENPORT(int,int)" (__imp_?KC_LG101_OPENPORT@@YGHHH@Z) referenced in function _main
这是标题代码

#ifdef LG101API_EXPORTS
#define LG101API_API __declspec(dllexport)
#else
#define LG101API_API __declspec(dllimport)
#endif


// This class is exported from the LG101API.dll
class LG101API_API CLG101API {
public:
    CLG101API(void);
    // TODO: add your methods here.
};

extern LG101API_API int nLG101API;

//////////////////////////////////////////////////////////////////////////
LG101API_API int _stdcall KC_LG101_OPENPORT(int iCom, int iPort);
LG101API_API int _stdcall KC_LG101_CLOSEPORT(void);
LG101API_API int _stdcall KC_LG101_SETLED(int iLed, int iTurnOn);
LG101API_API int _stdcall KC_LG101_READLED(int* iLEDst);
LG101API_API int _stdcall KC_LG101_READGUARD(int* iGUARDst);
LG101API_API int _stdcall KC_LG101_SETLEDMODE(int iGroup, int iOnTm, int iOffTm);

//////////////////////////////////////////////////////////////////////////
LG101API_API int _stdcall KC_LG101_RESET();
LG101API_API int _stdcall KC_LG101_CONTROLLED(int iLed, int iOnOff, int iOnTm, int iOffTm);
LG101API_API int _stdcall KC_LG101_SETTWINKLE(int* iLedArray, int iOnTm, int iOffTm);
LG101API_API int _stdcall KC_LG101_SETBOOT(int* iLedArray, int* iTwinkleLedArray, int iOnTm, int iOffTm);
LG101API_API int _stdcall KC_LG101_READLEDST(int* iLedArray, int* iTwinkleLedArray);
LG101API_API int _stdcall KC_LG101_GETVERSION(int* iVer);
这就是我主要的称呼

KC_LG101_OPENPORT(1, 9600);
    KC_LG101_SETLED(1, 1);
  • 任何查看器都可以查看.lib文件并找到字符串(如果不能找到,则会发现库中存在问题):
  • KC_LG101_OPENPORT@@YGHHH@Z

  • 不要在目标软件中定义LG101API_导出

  • 如果.lib文件不包含KC_LG101_OPENPORT@@YGHHH@Z,但字符串KC_LG101_OPENPORT存在:使用extern“c”包含头:extern“c”{#include“LG101API.h”}
    KC_LG101_OPENPORT@@YGHHH@Z
    位于.lib文件中,对于
    extern“C”{include“LG101API.h”}
    当我使用它时,它会在这里给出一个“E0010”#“不期望”我能做什么?我不能以注释样式显示确切的代码。因此,按行分隔代码:extern“C”{include“LG101API.h”}If“KC_lg101u OPENPORT@@YGHHH@Z“”位于.lib文件中。“精确的”@@YGHHH@Z“尾部-参见案例2.V”?KCÿU LG101ÿU OPENPORT@@YGHHH@ZLG101API.dllLG101API.dll/1453363332`我没有在目标软件中定义LG101API_导出这是否回答了您的问题?不,没用