<?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 Making DLL from ipp source in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Making-DLL-from-ipp-source/m-p/770984#M690</link>
    <description>Hi Boris,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Could you make sure you are exporting ippsAdd_64f function? Use dumpbin from VS2010 command line window. The "dumpbin /exports &lt;YOUR_LIB&gt;.lib" must show the list of exported functions. The sample's customdll shows&lt;/YOUR_LIB&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV id="_mcePaste"&gt;  Exports&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;   ordinal  name&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippGetStatusString@4&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippiGetLibVersion@0&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippiGetSpatialMoment_64f@28&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippiMomentFree_64f@4&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippiMomentInitAlloc_64f@8&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippiMoments64f_32f_C1R@20&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippsFree@4&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippsGetLibVersion@0&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippsMalloc_32f@4&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippsSum_32f@16&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippsThreshold_32f_I@16&lt;/DIV&gt;After I added "ippsAdd_64f" to export.def file, the dumpbin started showing&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;_ippsAdd_64f@16&lt;/DIV&gt;&lt;DIV&gt;among with other names.&lt;/DIV&gt;&lt;DIV&gt;Please, check your export definitions file.&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Sergey&lt;/DIV&gt;</description>
    <pubDate>Tue, 11 Oct 2011 15:27:46 GMT</pubDate>
    <dc:creator>Sergey_K_Intel</dc:creator>
    <dc:date>2011-10-11T15:27:46Z</dc:date>
    <item>
      <title>Making DLL from ipp source</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Making-DLL-from-ipp-source/m-p/770981#M687</link>
      <description>I've build ipp speech codec project, and everything is fine with it, but I don't know whether I can to make that project as dll. Is there any special properties that I have to change in my project to build dll? And another question is if I will run that dll on PC that doesn't have installed IPP software, would it work well , or there would be missing some libraries or so?&lt;DIV&gt;Thanks.&lt;/DIV&gt;</description>
      <pubDate>Tue, 16 Aug 2011 08:09:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Making-DLL-from-ipp-source/m-p/770981#M687</guid>
      <dc:creator>tcorp1</dc:creator>
      <dc:date>2011-08-16T08:09:25Z</dc:date>
    </item>
    <item>
      <title>Making DLL from ipp source</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Making-DLL-from-ipp-source/m-p/770982#M688</link>
      <description>DearTcorp, &lt;BR /&gt;&lt;BR /&gt;If you build ipp speech codec project in Microsoft Visual studio, you can change the project's property by &lt;BR /&gt;Open project's property page =&amp;gt;Configuration Properties=&amp;gt;General=&amp;gt;Configuration Type =&amp;gt; change the Static library (.*.lib) to dynamic library (*.dll). &lt;BR /&gt;&lt;BR /&gt;But as i understand, the purposeyou change project to dll is to remove the IPP software dependency,thus you can run that dll on PC that haven't IPP software, right?&lt;STRONG&gt;If yes, thenthe change is not needed &lt;/STRONG&gt;. Actually,IPP support 4 kind of link mode.&lt;BR /&gt;1. dynamic link&lt;BR /&gt;2. static link&lt;BR /&gt;3. customer dll link&lt;BR /&gt;4. single static link&lt;BR /&gt;&lt;BR /&gt;Please see the detials&lt;BR /&gt;&lt;A href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-intel-ipp-linkage-models-quick-reference-guide/"&gt;http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-intel-ipp-linkage-models-quick-reference-guide/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;No.2, 3, 4 guareetee one applicationrun other PCwithout IPP software installed. &lt;BR /&gt;among of the link mode, theNo.2 seems easiest.You can only change the project property by&lt;BR /&gt;Open project's property page =&amp;gt;Linker=&amp;gt;Input change ipps.lib ippsc.lib (dynamic)etc. to ipps_l.lib ippsc_l.lib.(static serial library), then produced exe don't depend on IPP software. &lt;BR /&gt;&lt;BR /&gt;Additionally, please note,&lt;BR /&gt;1. most ofspeech codec projectsproducestatic librarythemselves, where the IPP library is not needed during compile phase. &lt;BR /&gt;2. Only several application project produce exe, which need the static library and IPP library during compile phase. If IPP static libraryare linked during compile, then no IPP library neededduring run time.&lt;BR /&gt;So as you see, the key is in the phase of compile of the application project.&lt;BR /&gt;&lt;BR /&gt;You can try the No.3 too. Please see the readme \ipp-samples\advanced-usage\linkage\customdll&lt;BR /&gt;&lt;BR /&gt;Best Regards,&lt;BR /&gt;Ying &lt;BR /&gt;</description>
      <pubDate>Wed, 17 Aug 2011 01:55:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Making-DLL-from-ipp-source/m-p/770982#M688</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2011-08-17T01:55:21Z</dc:date>
    </item>
    <item>
      <title>Making DLL from ipp source</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Making-DLL-from-ipp-source/m-p/770983#M689</link>
      <description>Hi guys,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I'm trying to distribute a couple of my libraries which are using IPP to PCs that don't have IPP installed. For this I've decided to follow option 3 (custom made library) and everything works perfectly for Linux and MacOS but I'm having problems with Windows. I get the customdll files (myIPP_t.dll, myIPP_t.lib) from the ipp-samples example, but I can not link them into a testing program.&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;I have added the "__declspec(dllexport)" lines before those functions that I want to export and in my Windows7 (64bit) machine that has IPP installed everything runs well. I am using CMake to compile across all platforms, the only difference between UNIX and Windows CMakeLists.txt is that in the former I include the pthread library whereas in the later I don't. The problem comes when I try to run my testing code in a machine with Windows and NO IPP installed... I get several errors like:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;error LNK2019: unresolved external symbol _ippsAdd_64f@16 referenced in function "void __cdec1 main(...&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;This happens in both the Visual Studio 2010 solution created by CMake and also when I run the compiler in a command line:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;cl /I\path\to\headers main.cpp /link \path\to\myIPP_t.lib&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I am sure that the libraries are where they are supossed to be and that they are in the environmental variables but still it is like the the compiler is not finding the libraries, right? or maybe the libraries do NOT contain the IPP functions that I need... just can't figure out how windows work? Any ideas???&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Boris&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 04 Oct 2011 14:32:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Making-DLL-from-ipp-source/m-p/770983#M689</guid>
      <dc:creator>apolo74</dc:creator>
      <dc:date>2011-10-04T14:32:07Z</dc:date>
    </item>
    <item>
      <title>Making DLL from ipp source</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Making-DLL-from-ipp-source/m-p/770984#M690</link>
      <description>Hi Boris,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Could you make sure you are exporting ippsAdd_64f function? Use dumpbin from VS2010 command line window. The "dumpbin /exports &lt;YOUR_LIB&gt;.lib" must show the list of exported functions. The sample's customdll shows&lt;/YOUR_LIB&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV id="_mcePaste"&gt;  Exports&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;   ordinal  name&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippGetStatusString@4&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippiGetLibVersion@0&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippiGetSpatialMoment_64f@28&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippiMomentFree_64f@4&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippiMomentInitAlloc_64f@8&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippiMoments64f_32f_C1R@20&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippsFree@4&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippsGetLibVersion@0&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippsMalloc_32f@4&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippsSum_32f@16&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         _ippsThreshold_32f_I@16&lt;/DIV&gt;After I added "ippsAdd_64f" to export.def file, the dumpbin started showing&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;_ippsAdd_64f@16&lt;/DIV&gt;&lt;DIV&gt;among with other names.&lt;/DIV&gt;&lt;DIV&gt;Please, check your export definitions file.&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Sergey&lt;/DIV&gt;</description>
      <pubDate>Tue, 11 Oct 2011 15:27:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Making-DLL-from-ipp-source/m-p/770984#M690</guid>
      <dc:creator>Sergey_K_Intel</dc:creator>
      <dc:date>2011-10-11T15:27:46Z</dc:date>
    </item>
    <item>
      <title>Making DLL from ipp source</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Making-DLL-from-ipp-source/m-p/770985#M691</link>
      <description>Dear Sergey,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;first sorry for not replying before... I did the "dumpbin /EXPORTS myIPP.lib" and I get something similar to what you wrote in your message:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV id="_mcePaste"&gt;File Type: LIBRARY&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;  Exports&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;   ordinal  name&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippGetCpuClocks&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippGetCpuFreqMhz&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippGetNumThreads&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippGetStatusString&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippStaticInit&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippiConvValid_32f_C1R&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippiCopyConstBorder_32f_C1R&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippiCopyWrapBorder_32f_C1R&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippiCopy_32f_C1R&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippiGetLibVersion&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippiTranspose_32f_C1R&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippsAddC_64f_I&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippsAddProductC_32f&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippsAdd_64f&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippsAdd_64f_I&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;        ippsZero_32f&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;         ippsZero_64f&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; Summary&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     C6 .debug$S&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     14 .idata$2&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     14 .idata$3&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     8 .idata$4&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     8 .idata$5&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     E .idata$6&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;It's not exactly the same since your functions have a "_" before them and a @16 in the end. Does this mean that there is something wrong with the generation of my customdll???&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;Another question is that I previously thought that I was using these customdll libraries when compiling other libraries but it seems I was making a mistake in Visual Studio... in the "Configuration Properties" of my VS project I was setting the "Intel Performance Libraries"&amp;gt;"Use IPP" to "Shared DLL", and I guess that means that VS was going to use the local IPP libraries instead of my customDLL. What should I do in the VS project to use my customDLL libraries instead???&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks for your help,&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Boris&lt;/DIV&gt;</description>
      <pubDate>Fri, 04 Nov 2011 13:38:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Making-DLL-from-ipp-source/m-p/770985#M691</guid>
      <dc:creator>apolo74</dc:creator>
      <dc:date>2011-11-04T13:38:27Z</dc:date>
    </item>
  </channel>
</rss>

