gpt4 book ai didi

c++ - 'BYTE' 没有命名类型 || 'BOOL' 尚未声明

转载 作者:行者123 更新时间:2023-11-30 02:30:36 29 4
gpt4 key购买 nike

当我运行“g++”来生成 JNI 时,出现“未命名类型”错误。

g++ -shared -o finger.dll FingerPrintJNI.c

以下是错误信息

In file included from FingerPrintJNI.c:4:0:

IMM64.h:21:2: error: 'BYTE' does not name a type
BYTE Data[MAX_FEATUREVECT_LEN];
^~~~

IMM64.h:26:2: error: 'BYTE' does not name a type
BYTE Data[MAX_INDEXINFO_LEN];
^~~~

IMM64.h:31:2: error: 'BYTE' does not name a type
BYTE Data[MAX_INDEXINFO_LEN_1];
^~~~

IMM64.h:44:2: error: 'BYTE' does not name a type
BYTE kind;
^~~~

IMM64.h:55:2: error: 'BYTE' does not name a type
BYTE kind;
^~~~

IMM64.h:73:2: error: 'BOOL' has not been declared
BOOL *bResult, unsigned int *uiMatchScore, unsigned int *uiHit, Pair_t *hCPairs = NULL);

头文件看起来像这样。(出于安全原因,我无法共享整个代码)

XXX_API char * __stdcall XXXXDCI_GetVer();

这里是问题。

  1. “BYTE”已声明为大写。它与 Visual Studio 有关系吗?

  2. 头文件有“__stdcall”。这是否意味着头文件是 C++?

  3. 我需要用上面的头文件制作 JNI。我需要做什么?我可以通过 g++ 编译器来完成吗?或 gcc 编译器?没有 Visual Studio?

最佳答案

  1. BYTEBOOL#definedwindows.h作为unsigned charint分别。 #include <windows.h> ,可能在 #define WINDOWS_LEAN_AND_MEAN 之后或 typedef他们自己。
  2. __stdcall是用于 WinAPI 函数的标准调用约定。
  3. 查看有关 Stackoverflow 的其他答案。无需重复此处其他地方详细介绍的内容。

关于c++ - 'BYTE' 没有命名类型 || 'BOOL' 尚未声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38411885/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com