Ubuntu 18.04下Intel SGX应用程序程序开发——获得OCALL调用的返回值 (3)

我们在Makefile文件中修改编译相关的信息。主要更改

SGX_SDK ?= /opt/intel/sgxsdk App_Cpp_Files := App/App.cpp $(wildcard App/Edger8rSyntax/*.cpp) $(wildcard App/TrustedLibrary/*.cpp) Enclave_Cpp_Files := Enclave/Enclave.cpp $(wildcard Enclave/Edger8rSyntax/*.cpp) $(wildcard Enclave/TrustedLibrary/*.cpp) 3.5.1 修改SGX SDK路径

如果SGX SDK路径不是/opt/intel/sgxsdk,要将其改成为所在目录下/home/zjz/sgxsdk,

image-20210304170155481

3.5.2 修改不可信代码编译的源文件

由于我们的不可信代码可能是多个文件,因此,我们最好在App_Cpp_Files中包括App文件夹中的所有cpp文件,更改后的结果如下。本项目中App_Cpp_Files可以不用更改。

image-20210304170232535

3.5.3 修改可信代码编译的源文件

由于我们的可信代码可能是多个文件,因此,我们最好在Enclave_Cpp_Files中包括App文件夹中的所有cpp文件,更改后的结果如下。本项目中Enclave_Cpp_Files可以不用更改。

image-20210304170133548

4. 编译文件

打开文件下的终端输入make

image-20210305163529173

image-20210305163601054

5. 运行程序

执行 ./app 运行程序

其中遇到一个lib库的问题 使用export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/zjz/sgxsdk/lib64 解决后重新运行

最终成功输出两数之和为45

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyygsw.html