- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Greetings, I'm currently trying to upgrade a Image Processing program from IPP7 to 9, OpenCV2.4 to 3.1 as well as converting it to static linking instead of dynamic. The progress was successful in dynamic linking, but a nightmare in static.
Long story short, 2 errors came out and I have no idea how to fix it due to it belongs to the IPP libraries:
- ipp_get_cache_line_size already defined in ippicvmt.lib(ippcachesize.obj)
- ipp_get_cpuid already defined in ippicvmt.lib(owncpudefs.obj)
Both of em are in conflict with the ippcoremt.lib under the same obj name, I've made a few attempt to fix the errors, such as attached ippi.lib (which is wrong, it should be ippimt.lib but same error yet occurs) that somehow eliminates the error but causes the program to be dependant on ipp DLLs (which still somehow crashes eventhough I moved the DLLs to the source directory).
The Dependencies I've attached is as below:
- libiomp5md.lib
- version.lib
- libtiff.lib
- libpng.lib
- libjasper.lib
- libjpeg.lib
- libwebp.lib
- zlib.lib
- IlmImf.lib
- opencv_world310.lib
- ippicvmt.lib
I've been stucking on these errors for days, mind helping me out? :'(
(Pardon my English)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi John,
OpenCV3 has special IPP subset inside and looks like it conflicts with general IPP package. We will try to fix this problem in future, but for now I have one suggestion:
Build OpenCV with regular IPP package by defining IPPROOT variable in CMake to point to your package location (CMake log will have entry: "found IPP: x.x.x [x.x.x]"). This will switch OpenCV to regular IPP and you will be able to remove ippicvmt.lib from the linker and replace all dependencies with ippcore, ippi, ipps, ippcv, ippcc and ippvm libs from the regular IPP package
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi John,
I am afraid there's no lib called ippicvmt.lib in IPP. You should link with ippimt.lib & ippcvmt.lib.
Best regards,
Fiona
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi John,
OpenCV3 has special IPP subset inside and looks like it conflicts with general IPP package. We will try to fix this problem in future, but for now I have one suggestion:
Build OpenCV with regular IPP package by defining IPPROOT variable in CMake to point to your package location (CMake log will have entry: "found IPP: x.x.x [x.x.x]"). This will switch OpenCV to regular IPP and you will be able to remove ippicvmt.lib from the linker and replace all dependencies with ippcore, ippi, ipps, ippcv, ippcc and ippvm libs from the regular IPP package
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Pavel V.Vlasov (Intel) wrote:
Hi John,
OpenCV3 has special IPP subset inside and looks like it conflicts with general IPP package. We will try to fix this problem in future, but for now I have one suggestion:
Build OpenCV with regular IPP package by defining IPPROOT variable in CMake to point to your package location (CMake log will have entry: "found IPP: x.x.x [x.x.x]"). This will switch OpenCV to regular IPP and you will be able to remove ippicvmt.lib from the linker and replace all dependencies with ippcore, ippi, ipps, ippcv, ippcc and ippvm libs from the regular IPP package
Hi there,
Well that's indeed unfortunate. Thanks for your suggestion, I'll give it a try and update you as soon as I can. :D
Update:
Your suggestion works great, thank you very much. :)
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page