Search code examples
c++opencvdllcompiler-construction

Intel compiler with openCV how does it work


I have a C# project, a CLI/C++ project which wraps a C++ project.

I have compiled openCV 3.0.0 and I'm using full static link( *.lib without *.dll files)

since I want to use Intel IPP i want to use the intel Compiler in order to compile the C++ project.

at first I tought I will have problems since the OpenCV libs aren't compiled with the Intel compiler(they are compiled with VS2012 compiler). So just for trying I switch the toolset flag to Intel Compiler 14.0 and it worked, I can run my app... and use openCV and IPP.

Can you please explain a little bit about why is this possible? is it the same for dynamic loading(*.dll)? or if I use openCV with dynamic loading I will need to compile them with Intel Compiler?

Thanks


Solution

  • Roughly. The compiler used to generate a given machine code does not really matters (except for the quality of the code). What is important is that some conventions are respected : format of object code files, naming external objects and ABI (the way functions are called).