Intel® Software Guard Extensions (Intel® SGX)
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.

Linker errors using Intel SGX SDK (2.2.100.48339)

balguri_m_
Beginner
296 Views

Hi All,

We use SGX SDK for our software.  So far we didn't have any issues with Intel SGX SDK till v2.0.101.44281. When we build our software using SGX SDK (2.2.100.48339) following linker errors from the one of the SGX library (sgx_trts.lib)

1>sgx_trts.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_iat_table
1>sgx_trts.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_iat_count
1>sgx_trts.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_longjmp_table
1>sgx_trts.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_longjmp_count

Could you please someone tell me which library we need to include to resolve the above linker issues.

Our software targeted for Win10 - 64bit

 

Thanks in advance.

Regards,

Madhukar

 

0 Kudos
3 Replies
Mark_S_Intel2
Employee
296 Views
What version of the compiler/linker are you using (version of Visual Studio)?
balguri_m_
Beginner
296 Views

Hi Mark,

We are using Visual Studio 2013 for building our software. 

Hope setting C/C++  --> Code Generation --> Control Flow Guard to "/guard:cf" will solve this issue. But we need make changes in the project settings to compile on VC2015/VC2017 as this "/guard:cf" switch/option is not available in the VC2013.

Please let us know is there anyway we can build our software using VC2013. If not then we have to move to VC2015/VC2017.

Thanks & Regards,

Madhukar

Scott_R_Intel
Employee
296 Views

Hi Madhukar.

Unfortunately, support for Visual Studio 2013 was removed in SGX SDK v2.2.100.48339, as noted in the release notes.  Support for VS2017 was added at the same time.  We would recommend upgrading to VS2017.

Regards.

Scott

Reply