<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic What C++ standard library are in Intel® Software Guard Extensions (Intel® SGX)</title>
    <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091104#M788</link>
    <description>&lt;P&gt;What C++ standard library are you linking your enclave with?&lt;/P&gt;</description>
    <pubDate>Thu, 09 Feb 2017 15:43:14 GMT</pubDate>
    <dc:creator>Juan_d_Intel</dc:creator>
    <dc:date>2017-02-09T15:43:14Z</dc:date>
    <item>
      <title>protected_fs Link Error</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091100#M784</link>
      <description>&lt;P&gt;I'm trying to use the SGX protected file system in my enclave. From my understanding, this is how it should be set up:&lt;/P&gt;

&lt;P&gt;&amp;nbsp;1. Include `"sgx_tprotected_fs.h"` in enclave source.&lt;BR /&gt;
	&amp;nbsp;2. Import `"sgx_tprotected_fs.edl"` in the enclave description file.&lt;BR /&gt;
	&amp;nbsp;3. Link the appropriate version of `"sgx_uprotected_fs.lib"` with the host app and `"sgx_tprotected_fs.lib"` with the enclave (the latter I don't understand why considering `"sgx_tprotected_fs.edl"` has no ECALLs).&lt;/P&gt;

&lt;P&gt;I've done all of these but I'm still getting link errors when building the host app.&lt;/P&gt;

&lt;P&gt;Am I doing something wrong or is there a problem with the SDK?&lt;/P&gt;

&lt;P&gt;Here is my error log:&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; 1&amp;gt;Enclave_u.obj : error LNK2019: unresolved external symbol u_sgxprotectedfs_exclusive_file_open referenced in function Enclave_u_sgxprotectedfs_exclusive_file_open&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 1&amp;gt;Enclave_u.obj : error LNK2019: unresolved external symbol u_sgxprotectedfs_check_if_file_exists referenced in function Enclave_u_sgxprotectedfs_check_if_file_exists&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 1&amp;gt;Enclave_u.obj : error LNK2019: unresolved external symbol u_sgxprotectedfs_fread_node referenced in function Enclave_u_sgxprotectedfs_fread_node&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 1&amp;gt;Enclave_u.obj : error LNK2019: unresolved external symbol u_sgxprotectedfs_fwrite_node referenced in function Enclave_u_sgxprotectedfs_fwrite_node&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 1&amp;gt;Enclave_u.obj : error LNK2019: unresolved external symbol u_sgxprotectedfs_fclose referenced in function Enclave_u_sgxprotectedfs_fclose&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 1&amp;gt;Enclave_u.obj : error LNK2019: unresolved external symbol u_sgxprotectedfs_fflush referenced in function Enclave_u_sgxprotectedfs_fflush&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 1&amp;gt;Enclave_u.obj : error LNK2019: unresolved external symbol u_sgxprotectedfs_remove referenced in function Enclave_u_sgxprotectedfs_remove&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 1&amp;gt;Enclave_u.obj : error LNK2019: unresolved external symbol u_sgxprotectedfs_recovery_file_open referenced in function Enclave_u_sgxprotectedfs_recovery_file_open&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 1&amp;gt;Enclave_u.obj : error LNK2019: unresolved external symbol u_sgxprotectedfs_fwrite_recovery_node referenced in function Enclave_u_sgxprotectedfs_fwrite_recovery_node&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 1&amp;gt;Enclave_u.obj : error LNK2019: unresolved external symbol u_sgxprotectedfs_do_file_recovery referenced in function Enclave_u_sgxprotectedfs_do_file_recovery&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 1&amp;gt;C:\Users\Arya\documents\visual studio 2015\Projects\Enclave_0\x64\Debug\App.exe : fatal error LNK1120: 10 unresolved externals&lt;/P&gt;</description>
      <pubDate>Wed, 08 Feb 2017 21:36:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091100#M784</guid>
      <dc:creator>AArya2</dc:creator>
      <dc:date>2017-02-08T21:36:07Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091101#M785</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;Please refer the below link for your reference.&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/en-us/articles/overview-of-intel-protected-file-system-library-using-software-guard-extensions"&gt;https://software.intel.com/en-us/articles/overview-of-intel-protected-file-system-library-using-software-guard-extensions&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;-Surenthar&lt;/P&gt;</description>
      <pubDate>Thu, 09 Feb 2017 04:13:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091101#M785</guid>
      <dc:creator>Surenthar_S_Intel</dc:creator>
      <dc:date>2017-02-09T04:13:23Z</dc:date>
    </item>
    <item>
      <title>I have already followed all</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091102#M786</link>
      <description>&lt;P&gt;Thank you!&lt;/P&gt;

&lt;P&gt;I'd already followed the steps but had misspelled the library name. :)&lt;/P&gt;</description>
      <pubDate>Thu, 09 Feb 2017 14:37:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091102#M786</guid>
      <dc:creator>AArya2</dc:creator>
      <dc:date>2017-02-09T14:37:00Z</dc:date>
    </item>
    <item>
      <title>I'm having a new problem:</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091103#M787</link>
      <description>&lt;P&gt;I'm having a new problem:&lt;/P&gt;

&lt;P&gt;1&amp;gt; &amp;nbsp;Enc_t.c&lt;BR /&gt;
	1&amp;gt; &amp;nbsp; &amp;nbsp; Creating library C:\Users\Arya\documents\visual studio 2015\Projects\Enc_0\Debug\Enc.lib and object C:\Users\Arya\documents\visual studio 2015\Projects\Enc_0\Debug\Enc.exp&lt;BR /&gt;
	1&amp;gt;sgx_tprotected_fs.lib(file_flush.obj) : error LNK2019: unresolved external symbol "public: __thiscall stlpmtx_std::__Named_exception::__Named_exception(class stlpmtx_std::basic_string&amp;lt;char,class stlpmtx_std::char_traits&amp;lt;char&amp;gt;,class stlpmtx_std::allocator&amp;lt;char&amp;gt; &amp;gt; const &amp;amp;)" (??0__Named_exception@stlpmtx_std@@QAE@ABV?$basic_string@DV?$char_traits@D@stlpmtx_std@@V?$allocator@D@2@@1@@Z) referenced in function "public: __thiscall stlpmtx_std::logic_error::logic_error(class stlpmtx_std::basic_string&amp;lt;char,class stlpmtx_std::char_traits&amp;lt;char&amp;gt;,class stlpmtx_std::allocator&amp;lt;char&amp;gt; &amp;gt; const &amp;amp;)" (??0logic_error@stlpmtx_std@@QAE@ABV?$basic_string@DV?$char_traits@D@stlpmtx_std@@V?$allocator@D@2@@1@@Z)&lt;BR /&gt;
	1&amp;gt;sgx_tprotected_fs.lib(lru_cache.obj) : error LNK2001: unresolved external symbol "public: __thiscall stlpmtx_std::__Named_exception::__Named_exception(class stlpmtx_std::basic_string&amp;lt;char,class stlpmtx_std::char_traits&amp;lt;char&amp;gt;,class stlpmtx_std::allocator&amp;lt;char&amp;gt; &amp;gt; const &amp;amp;)" (??0__Named_exception@stlpmtx_std@@QAE@ABV?$basic_string@DV?$char_traits@D@stlpmtx_std@@V?$allocator@D@2@@1@@Z)&lt;BR /&gt;
	1&amp;gt;sgx_tprotected_fs.lib(file_flush.obj) : error LNK2019: unresolved external symbol "public: __thiscall stlpmtx_std::__Named_exception::__Named_exception(class stlpmtx_std::__Named_exception const &amp;amp;)" (??0__Named_exception@stlpmtx_std@@QAE@ABV01@@Z) referenced in function "public: __thiscall stlpmtx_std::logic_error::logic_error(class stlpmtx_std::logic_error const &amp;amp;)" (??0logic_error@stlpmtx_std@@QAE@ABV01@@Z)&lt;BR /&gt;
	1&amp;gt;sgx_tprotected_fs.lib(lru_cache.obj) : error LNK2001: unresolved external symbol "public: __thiscall stlpmtx_std::__Named_exception::__Named_exception(class stlpmtx_std::__Named_exception const &amp;amp;)" (??0__Named_exception@stlpmtx_std@@QAE@ABV01@@Z)&lt;BR /&gt;
	1&amp;gt;sgx_tprotected_fs.lib(file_flush.obj) : error LNK2019: unresolved external symbol "public: virtual __thiscall stlpmtx_std::__Named_exception::~__Named_exception(void)" (??1__Named_exception@stlpmtx_std@@UAE@XZ) referenced in function "public: virtual __thiscall stlpmtx_std::logic_error::~logic_error(void)" (??1logic_error@stlpmtx_std@@UAE@XZ)&lt;BR /&gt;
	1&amp;gt;sgx_tprotected_fs.lib(lru_cache.obj) : error LNK2001: unresolved external symbol "public: virtual __thiscall stlpmtx_std::__Named_exception::~__Named_exception(void)" (??1__Named_exception@stlpmtx_std@@UAE@XZ)&lt;BR /&gt;
	1&amp;gt;sgx_tprotected_fs.lib(file_flush.obj) : error LNK2001: unresolved external symbol "public: virtual char const * __thiscall stlpmtx_std::__Named_exception::what(void)const " (?what@__Named_exception@stlpmtx_std@@UBEPBDXZ)&lt;BR /&gt;
	1&amp;gt;sgx_tprotected_fs.lib(lru_cache.obj) : error LNK2001: unresolved external symbol "public: virtual char const * __thiscall stlpmtx_std::__Named_exception::what(void)const " (?what@__Named_exception@stlpmtx_std@@UBEPBDXZ)&lt;BR /&gt;
	1&amp;gt;C:\Users\Arya\documents\visual studio 2015\Projects\Enc_0\Debug\Enc.dll : fatal error LNK1120: 4 unresolved externals&lt;/P&gt;

&lt;P&gt;Seems to be missing some Mutex classes... :-?&lt;/P&gt;

&lt;P&gt;I couldn't figure out what I should link with my enclave for solving that.&lt;/P&gt;</description>
      <pubDate>Thu, 09 Feb 2017 15:18:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091103#M787</guid>
      <dc:creator>AArya2</dc:creator>
      <dc:date>2017-02-09T15:18:37Z</dc:date>
    </item>
    <item>
      <title>What C++ standard library are</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091104#M788</link>
      <description>&lt;P&gt;What C++ standard library are you linking your enclave with?&lt;/P&gt;</description>
      <pubDate>Thu, 09 Feb 2017 15:43:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091104#M788</guid>
      <dc:creator>Juan_d_Intel</dc:creator>
      <dc:date>2017-02-09T15:43:14Z</dc:date>
    </item>
    <item>
      <title>I didn't change any default</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091105#M789</link>
      <description>&lt;P&gt;I didn't change any of the default configurations, so I'd assume the ones provided by the SGX SDK.&lt;/P&gt;

&lt;P&gt;It's linking with "sgx_tstdc.lib" and "sgx_tcxx.lib". That should work, right?&lt;/P&gt;</description>
      <pubDate>Thu, 09 Feb 2017 15:46:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091105#M789</guid>
      <dc:creator>AArya2</dc:creator>
      <dc:date>2017-02-09T15:46:00Z</dc:date>
    </item>
    <item>
      <title>I might be wrong, but the</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091106#M790</link>
      <description>&lt;P&gt;I might be wrong, but the error messages seem to refer to the stlport library.&lt;/P&gt;

&lt;P&gt;Could you replace sgx_tcxx.lib with sgx_tstdcxx.lib?&lt;/P&gt;</description>
      <pubDate>Thu, 09 Feb 2017 16:16:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091106#M790</guid>
      <dc:creator>Juan_d_Intel</dc:creator>
      <dc:date>2017-02-09T16:16:43Z</dc:date>
    </item>
    <item>
      <title>It worked! Thank you!</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091107#M791</link>
      <description>&lt;P&gt;It worked! Thank you!&lt;/P&gt;</description>
      <pubDate>Thu, 09 Feb 2017 16:36:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091107#M791</guid>
      <dc:creator>AArya2</dc:creator>
      <dc:date>2017-02-09T16:36:12Z</dc:date>
    </item>
    <item>
      <title>The SGX SDK 1.7 was meant to</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091108#M792</link>
      <description>&lt;P&gt;The SGX SDK 1.7 was meant to use the new C++ library, sgx_tcxx.lib, by default.&lt;/P&gt;

&lt;P&gt;It looks like the protected fs library was misconfigured at build time. Consider the bug filed. :)&lt;/P&gt;</description>
      <pubDate>Thu, 09 Feb 2017 16:54:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/protected-fs-Link-Error/m-p/1091108#M792</guid>
      <dc:creator>Juan_d_Intel</dc:creator>
      <dc:date>2017-02-09T16:54:44Z</dc:date>
    </item>
  </channel>
</rss>

