0

我正在使用gcc和编译我的程序。我决定 enclaveapi 并尝试使用CreateEnclave(). 当我添加标题时,它说不<enclaveapi.h>存在。

当我使用标题<winbase.h>时,它返回undefined reference to 'CreateEnclave'. 我该如何摆脱这个错误?我正在使用基本编译gcc main.c -o main.exe -mwindows

4

1 回答 1

0

<enclaveapi.h>在最新的 Windows SDK 中。 在这里下载。SDK 提供了用于构建 Windows 代码的最新头文件和库等内容。更新编译器开关以使用新路径。

或者,您可以只动态加载 API 而无需安装新的 SDK:

typedef PVOID (__stdcall *create_enclave_type)(HANDLE,LPVOID,SIZE_T,SIZE_T,DWORD,LPCVOID,DWORD,LPDWORD);
create_enclave_type fnCreateEnclave;
HMODULE hKernel = LoadLibrary(L"kernel32.dll");
fnCreateEnclave = (create_enclave_type)GetProcAddress(hKernel, L"CreateEnclave");
于 2017-11-08T07:08:40.980 回答