Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
6594 Discussions

IPP_GZIP example in Microsoft Visual Studio 2008

constantine-vassilev
100 Views

I would like to compile the IPP_GZIP example in Microsoft Visual Studio 2008.
Analyzing the source code I see there are options for parallel processing. I can possibly
biuld Visual Studio solution manually but it wil lbe time consuming.

Are there ready made Visual Studio Solution to download?

0 Kudos
3 Replies
Sergey_K_Intel
Employee
100 Views
Quoting - thstart

Are there ready made Visual Studio Solution to download?

There are no, but it's quite easy.

Create an "EMPTY" project for Win32 console mode.
Add everything from IPP_GZIP src directory as existing items to "Source Files" project's folder.
Everything from IPP_GZIP's include directory to "Header Files".
Change projects properties "General/Character Set" to "Not Set".
Change projects properties "C/C++/Language/OpenMP Support" to "Yes(/openmp)".
Add IPP_GZIP's include directory to "C/C++/General/Additional Include Directories".
Add IPP installed's include to includes too. "C:Program FilesIntelIPP...".
Add " GZIP_PARALLEL;TARGET_ARCHITECTURE="";OPTIMIZATION="";LIBRARY_LINK="" " to "C/C++/Preprocessor/Preprocessor Definitions"
Add IPP installed's lib to project "Linker/General/Additional Library Directories"
Add "ippcorel.lib ippdcemerged.lib ippdcmerged.lib ippsmerged.lib" to "Linker/Input/Additional Dependencies"

Add wsetargv.obj to linker's additional dependencies to work with wildcard files.

And that's it. You are going to produce static-built sample. Look into IPP's "Getting Started Guide" to choose better combinations of libraries for you project.

constantine-vassilev
100 Views
Quoting - sergey_kh

There are no, but it's quite easy.

Create an "EMPTY" project for Win32 console mode.
Add everything from IPP_GZIP src directory as existing items to "Source Files" project's folder.
Everything from IPP_GZIP's include directory to "Header Files".
Change projects properties "General/Character Set" to "Not Set".
Change projects properties "C/C++/Language/OpenMP Support" to "Yes(/openmp)".
Add IPP_GZIP's include directory to "C/C++/General/Additional Include Directories".
Add IPP installed's include to includes too. "C:Program FilesIntelIPP...".
Add " GZIP_PARALLEL;TARGET_ARCHITECTURE="";OPTIMIZATION="";LIBRARY_LINK="" " to "C/C++/Preprocessor/Preprocessor Definitions"
Add IPP installed's lib to project "Linker/General/Additional Library Directories"
Add "ippcorel.lib ippdcemerged.lib ippdcmerged.lib ippsmerged.lib" to "Linker/Input/Additional Dependencies"

Add wsetargv.obj to linker's additional dependencies to work with wildcard files.

And that's it. You are going to produce static-built sample. Look into IPP's "Getting Started Guide" to choose better combinations of libraries for you project.

Thanks a lot - I will follow your recommendation now.

There is one question - for the application I am currently developing I need to create
a decompression utility with no installation - just the absolute minimum needed to
decompress several files. ObviouslyI will need the Intel IPP Libraries later for the full application
but for the first installation I need only the minimum just to start without installation - a simple single
.exe file and single gzip file will be the best solution for this. How do you recommend to do this - with
static linking, if so could you give me a simple example? Because I still need to use Intel IPP because it is very fast.

Thanks in advance,
Constantine

Sergey_K_Intel
Employee
100 Views

Constantine,

If you need a statically-linked exe file, i.e. exe file which won't require any additional DLLs, you can go the way desribed in "Getting Started Guide".

For example, if you're preparing exe for Win32, you'll probably use PX code - the conventional code workable in all platforms. For that, you need to "#include" ipp_px.h from ipptoolsstaticlib (along with ordinary IPP header files) and link you code to ippcorel.lib + (in case of data compression) ippdcmerged.lib.

There is a README html file ("Creating Single-Processor Executable") in "ipptoolsstaticlib" describing this.

Good luck and happy New Year,
Sergey

Reply