- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
h files and *.lib file from another developer.
I have built a C++/CLI project and I want to create a C# wrapper for two functions
I'm getting this error
error LNK1104: cannot open file 'libmmt.lib'
I understand the he is using Intel Compiler and I know he uses IPP functions.<Br>
from here:<br>
https://software.intel.com/en-us/articles/libraries-provided-by-intelr-c-compiler-for-windows-and-intel-parallel-composer
I understand that he also uses Multi-threaded
static library (/MT) version of math library.
I have Intel parallel studio installed. can you please help me understand how to configure my C++/CLI project?
I have added
$(ICPP_COMPILER15)compiler\lib\intel64 into Additional Library Directories inside Linker -> General and now I have many more errors:
error LNK2019: unresolved external symbol ippsSum_32f referenced in function ia_cp_robustMest
error LNK2019: unresolved external symbol ippsSubC_32f referenced in function ia_cp_estimaSigmaRob
and so on...
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The libmmt.lib issue is resolved by adding the directory, now this issue is more an IPP question.
Did you link the static ipp lib? at the same time I'll transfer you to the IPP forum.
Jennifer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have added the directories of IPP and the include files.
but still I have this problem
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gilad,
Could you show how you added IPP libs? You need to add
- $(IPPROOT)\lib\intel64\ippsmt.lib,
- (may be) $(IPPROOT)\lib\intel64\ippvmmt.lib
- $(IPPROOT)\lib\intel64\ippcoremt.lib
for linking to multi-CPU 64-bit IPP libraries. Include files don't matter here anymore, because you have link stage issues. I suppose you passed compilation stage correctly.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
since I have Intel parallel studio installed
this is my additional include directories:
$(ICPP_COMPILER15)ipp\include;$(ICPP_COMPILER15)compiler\include
and here is my additional library directories
$(ICPP_COMPILER15)compiler\lib\intel64;$(ICPP_COMPILER15)ipp\lib\intel64
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Gilad,
Besides library directories you need to provide a list of static libraries you want your app to link to. Otherwise, the linker doesn't know what libraries to search for function definitions.
Though, the compiler must put library inclusion directives in calling modules' object code like in the example from ipps.h file below:
#if !defined( _IPP_NO_DEFAULT_LIB ) #if defined( _IPP_SEQUENTIAL_DYNAMIC ) #pragma comment( lib, __FILE__ "/../../lib/" _INTEL_PLATFORM "ipps" ) #pragma comment( lib, __FILE__ "/../../lib/" _INTEL_PLATFORM "ippcore" ) #elif defined( _IPP_SEQUENTIAL_STATIC ) #pragma comment( lib, __FILE__ "/../../lib/" _INTEL_PLATFORM "ippsmt" ) #pragma comment( lib, __FILE__ "/../../lib/" _INTEL_PLATFORM "ippvmmt" ) #pragma comment( lib, __FILE__ "/../../lib/" _INTEL_PLATFORM "ippcoremt" ) #elif defined( _IPP_PARALLEL_DYNAMIC ) #pragma comment( lib, __FILE__ "/../../lib/" _INTEL_PLATFORM "threaded/ipps" ) #pragma comment( lib, __FILE__ "/../../lib/" _INTEL_PLATFORM "threaded/ippcore" ) #elif defined( _IPP_PARALLEL_STATIC ) #pragma comment( lib, __FILE__ "/../../lib/" _INTEL_PLATFORM "threaded/ippsmt" ) #pragma comment( lib, __FILE__ "/../../lib/" _INTEL_PLATFORM "threaded/ippvmmt" ) #pragma comment( lib, __FILE__ "/../../lib/" _INTEL_PLATFORM "threaded/ippcoremt" ) #endif #endif
in some cases (I don't know for what reason) these directives are not generated.
So, in this case you need to specify set of library names in Project/Linker/Input property.
P.S.: "mt" in the library names doesn't mean multi-threading. It's Windows-like manner of library naming. The IPPs ipp*mt.lib are single threaded static libraries, unless they come from "ipp/lib/<ia32|intel64>/threaded" directory, where they are multi-threaded.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You mean inside Linker->input->additional dependencies?? I did give the name of the libs
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Gilad,
yes, in the Linker->input->additional dependencies, you can add the IPP libraries.
Thanks,
Chao
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
my problem was resolved today, in intel parallel studio 2015 there is an addtional library which is not located in the lib IPP folder which is in Intel parallel studio 2013 installation. "threaded" and all of the file are found there.... problem solved. i couldn't find any documents about that. but I hope there is an upgrade manual somewhere that I missed.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page