Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Static library / libirc.lib issue

didorama
Beginner
1,381 Views
Hello,

I have built a static library using the IPP libraries. When I try to link with this static library in the build of an independent DLL, the following error message comes up:

LINK : fatal error LNK1104: cannot open file 'libirc.lib'

I don't understand why the DLL needs to be able or is trying to open this library. Could I be building my static library incorrectly to make the DLL need it?

Thanks for any suggestions or enlightenment.
0 Kudos
4 Replies
Vladimir_Dudnik
Employee
1,381 Views

What exactly did you do? How it is possible to build static library from static libraries?

libirc.lib is library which comes with Intel C/C++ compiler.

Vladimir
0 Kudos
didorama
Beginner
1,381 Views

What exactly did you do? How it is possible to build static library from static libraries?

libirc.lib is library which comes with Intel C/C++ compiler.

Vladimir
Thanks for responding. I built a static library to encapsulate access to JP2000 files. I want to be able to call those JP2000 read and write methods from the DLL . Am I wrong in assuming I should be able to do this? It seems I have done it with other (non-ipp) static libraries. Let me know if you need more info.

The reason it is a separate module from the DLL is because of how the development work is distributed. We initially had built the JP2000 access as a DLL, and everything worked fine (one DLL calling another) but ran into problems when we tried to use Passport to encrypt the tow for licensing purposes. So now we are trying to put it all into one DLL, but keep the development projects separate.
0 Kudos
didorama
Beginner
1,381 Views
Quoting - didorama
Thanks for responding. I built a static library to encapsulate access to JP2000 files. I want to be able to call those JP2000 read and write methods from the DLL . Am I wrong in assuming I should be able to do this? It seems I have done it with other (non-ipp) static libraries. Let me know if you need more info.

The reason it is a separate module from the DLL is because of how the development work is distributed. We initially had built the JP2000 access as a DLL, and everything worked fine (one DLL calling another) but ran into problems when we tried to use Passport to encrypt the tow for licensing purposes. So now we are trying to put it all into one DLL, but keep the development projects separate.


I seem to have solved my problem by adding a setting in the DLL project to specifically ignore libirc.lib. Now the DLL builds successfully.

If anyone can help me understand why this worked I would be grateful. I have an intuition as to why (which is why I tried it) but would love to REALLY know what is going on!
0 Kudos
Vladimir_Dudnik
Employee
1,381 Views

Hello,

libirc.lib is Intel C/C++ compiler specific library. If you compile a part of your project with Intel Compiler it may add dependancy on this library.

Note, you may use UIC JPEG2000 codec provided as IPP UIC sample.

Regards,
Vladimir
0 Kudos
Reply