我正在使用gcc
和编译我的程序。我决定 enclaveapi 并尝试使用CreateEnclave()
. 当我添加标题时,它说不<enclaveapi.h>
存在。
当我使用标题<winbase.h>
时,它返回undefined reference to 'CreateEnclave'
. 我该如何摆脱这个错误?我正在使用基本编译gcc main.c -o main.exe -mwindows
。
<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");