SGX演示应用程序无法编译

时间:2018-02-25 22:13:49

标签: c++ visual-c++ sgx

通过Visual Studio SGX插件,我创建了一个演示应用程序,其EDL如下:

enclave {
    from "sgx_tstdc.edl" import *;
    trusted {
        public char* sign([in, string] const char* message, unsigned saltLength);
};
    untrusted { };
};

现在,sign函数只返回一个nullptr,所以它应该不是问题。

当我尝试使用MSVC编译它时,它会给我错误_mm_lfence identifier not found

此功能由SGX代理功能自动使用,我无法控制它。

有关正在发生的事情的任何线索?

1 个答案:

答案 0 :(得分:0)

经过各种测试,我注意到MSVC以及英特尔编译器试图将文件编译为C ++文件,而它是普通的C.

手动将C设为目标,解决了问题。

希望这有助于未来的读者。