<?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 Re: Building custom MKL dll, unresolved external symbols in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Building-custom-MKL-dll-unresolved-external-symbols/m-p/1225922#M30290</link>
    <description>&lt;P&gt;The missing symbols are to be found in the C++ runtime libraries (msvcprt.lib, libcpmt.lib, etc.).&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 06 Nov 2020 01:37:25 GMT</pubDate>
    <dc:creator>mecej4</dc:creator>
    <dc:date>2020-11-06T01:37:25Z</dc:date>
    <item>
      <title>Building custom MKL dll, unresolved external symbols</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Building-custom-MKL-dll-unresolved-external-symbols/m-p/1225909#M30289</link>
      <description>&lt;P&gt;Building a custom MKL dll using Visual studio 2019 and MKL 2020 update 2. The example solution builds fine.&lt;/P&gt;
&lt;P&gt;I edited the list of functions in example.def to my list of application unresolved symbols, as described in the MKL doc. I changed the Linker-&amp;gt;Input Additional Dependencies from mkl_intel_lp64.lib to mkl_intel_ilp64.lib.&lt;/P&gt;
&lt;P&gt;Building now gives me two unresolved external symbols. Here are the error outputs:&lt;/P&gt;
&lt;LI-CODE lang="none"&gt;Error	LNK2019	unresolved external symbol _FDtest referenced in function "protected: void __cdecl mkl_blas_jit_gemm_t&amp;lt;class std::complex&amp;lt;float&amp;gt;,struct mkl_serv_Xbyak::Reg64&amp;gt;::gemm(struct mkl_blas_jit_gemm_strategy &amp;amp;,struct mkl_blas_jit_gemm_state &amp;amp;,bool)" (?gemm@?$mkl_blas_jit_gemm_t@V?$complex@M@std@@UReg64@mkl_serv_Xbyak@@@@IEAAXAEAUmkl_blas_jit_gemm_strategy@@AEAUmkl_blas_jit_gemm_state@@_N@Z)	lp64_parallel	C:\Users\John\Documents\Development\Igor9\CustomMKLDll\lp64_parallel\mkl_core.lib(_jit_gemm_kernel_generator_fb.obj)	1	
Error	LNK2019	unresolved external symbol _Dtest referenced in function "protected: void __cdecl mkl_blas_jit_gemm_t&amp;lt;class std::complex&amp;lt;double&amp;gt;,struct mkl_serv_Xbyak::Reg64&amp;gt;::gemm(struct mkl_blas_jit_gemm_strategy &amp;amp;,struct mkl_blas_jit_gemm_state &amp;amp;,bool)" (?gemm@?$mkl_blas_jit_gemm_t@V?$complex@N@std@@UReg64@mkl_serv_Xbyak@@@@IEAAXAEAUmkl_blas_jit_gemm_strategy@@AEAUmkl_blas_jit_gemm_state@@_N@Z)	lp64_parallel	C:\Users\John\Documents\Development\Igor9\CustomMKLDll\lp64_parallel\mkl_core.lib(_jit_gemm_kernel_generator_fb.obj)	1	
Error	LNK1120	2 unresolved externals	lp64_parallel	C:\Users\John\Documents\Development\Igor9\CustomMKLDll\x64\Debug\CustomMKL64d.dll	1	
&lt;/LI-CODE&gt;
&lt;P&gt;_Dtest and _FDtest are part of the Visual C runtime, so surely one of these additional dependencies has those functions:&lt;/P&gt;
&lt;P&gt;mkl_intel_ilp64.lib;mkl_intel_thread.lib;mkl_core.lib;libiomp5md.lib;msvcrt.lib;vcruntime.lib;ucrt.lib;kernel32.lib;user32.lib&lt;/P&gt;
&lt;P&gt;Naturally, the mkl_xxx libraries are irrelevant; that's just the complete list. I would have expected ucrt.lib to have those symbols, though.&lt;/P&gt;
&lt;P&gt;I tried Googling those symbols- I can get documentation, but not a mention of what library to include.&lt;/P&gt;
&lt;P&gt;Any insights appreciated!&lt;/P&gt;</description>
      <pubDate>Fri, 06 Nov 2020 00:49:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Building-custom-MKL-dll-unresolved-external-symbols/m-p/1225909#M30289</guid>
      <dc:creator>Weeks__John</dc:creator>
      <dc:date>2020-11-06T00:49:12Z</dc:date>
    </item>
    <item>
      <title>Re: Building custom MKL dll, unresolved external symbols</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Building-custom-MKL-dll-unresolved-external-symbols/m-p/1225922#M30290</link>
      <description>&lt;P&gt;The missing symbols are to be found in the C++ runtime libraries (msvcprt.lib, libcpmt.lib, etc.).&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Nov 2020 01:37:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Building-custom-MKL-dll-unresolved-external-symbols/m-p/1225922#M30290</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2020-11-06T01:37:25Z</dc:date>
    </item>
    <item>
      <title>Re: Building custom MKL dll, unresolved external symbols</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Building-custom-MKL-dll-unresolved-external-symbols/m-p/1226142#M30299</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/41971"&gt;@mecej4&lt;/a&gt;&amp;nbsp; Thanks! I added msvcprt.lib to the Additional Dependencies list and my dll just built successfully. Now to make sure that our application actually runs with the new dll!&lt;/P&gt;</description>
      <pubDate>Fri, 06 Nov 2020 18:30:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Building-custom-MKL-dll-unresolved-external-symbols/m-p/1226142#M30299</guid>
      <dc:creator>Weeks__John</dc:creator>
      <dc:date>2020-11-06T18:30:52Z</dc:date>
    </item>
  </channel>
</rss>

