SGX演示应用程序无法编译

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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代理功能自动使用此功能,我无法控制它。

关于发生了什么的任何线索?

答案

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

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

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

以上是关于SGX演示应用程序无法编译的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu16.04 编译安装intel SGX Driver,SDK,PSW并验证环境201905

无法运行使用“演示文稿”生成报告的已编译 Matlab 代码

英特尔 SGX 远程证明示例代码

如何在英特尔 SGX 中注册自定义异常?

Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示(代码片段

高级C和C++编译:无法编译书中提到的示例程序。