我是Visual C ++的新手,我试图使用另一个Visual Studio解决方案生成的DLL。
DLL中的一个函数在我的新解决方案中运行得非常好,但是另一个函数在error C3861: Identifier Not found
时出错。
DLL的头文件如下所示:
#ifdef CONVERTLIBRARY_EXPORTS
#define CONVERTLIBRARY_API __declspec(dllexport)
#include "../Convert/Parse.h"
#include "../Convert/TxI16Types.h"
#include "../Convert/messages.h"
#else
#define CONVERTLIBRARY_API __declspec(dllimport)
#include "Parse.h"
#include "TxI16Types.h"
#include "messages.h"
#endif
extern CONVERTLIBRARY_API long nConvertLibrary;
CONVERTLIBRARY_API int fnConvertLibrary(void);
CONVERTLIBRARY_API int fslParseByte(unsigned char inchr, struct ParseState *ps, unsigned char *outbuf, int outsize);
CONVERTLIBRARY_API int fslCheckMessage(unsigned char* buf, struct ParseState *ps);
CONVERTLIBRARY_API int fslBinaryToAscii(const unsigned char* hdr, char *out, unsigned int outlen, int *error);
CONVERTLIBRARY_API int fslAsciiToBinary(const char* hdr, unsigned char *out, unsigned int outlen, int *error);
我已经指定了.lib
文件的路径,这必须是正确的,因为我可以调用函数fslParseByte
,但调用fslAsciiToBinary
或fslBinaryToAscii
会给我错误。
我不确定这是怎么可能的,并且会感激任何指针。