2017-04-09 4 views
1

Ich versuche, meine Matlab-Code-Leistung zu verbessern, indem ich einen Teil davon durch ein C++ - Programm ersetzen, und dafür verwende ich die ipp-Bibliothek von Intel. Das Problem tritt auf, wenn versucht wird, das Programm zu kompilieren und zu verknüpfen. Ich bekomme den zusätzlichen Fehler.Erstellen einer Mex-Datei mit Intels ipp-Bibliothek verbunden

Ich benutze Matlab2016a 64bit, Windows 10 64bit und Gebäude mit 'Microsoft Visual C++ 2015 Professional'.

Vielen Dank!

Nadav

mex nesta.cpp -L'C: \ Program Files (x86) \ IntelSWTools \ compilers_and_libraries_2017.2.187 \ windows \ ipp \ lib \ intel64_win' -I'C: \ Programmdateien (x86) \ IntelSWTools \ compilers_and_libraries_2017.2.187 \ windows \ ipp \ include ' Erstellen mit' Microsoft Visual C++ 2015 Professional '. Fehler mit mex Bibliothek nesta.lib Erstellen und Objekt nesta.exp nesta.obj: error LNK2019: nicht aufgelöstes externes Symbol ippsAdd_32fc_I in Funktion referenziert "int __cdecl nesta (struct Ipp32fc *, struct Ipp32fc *)" (nesta @@ YAHPEAUIpp32fc @@ 0 @ Z) nesta.obj: Fehler LNK2019: nicht aufgelöstes externes Symbol ippsAdd_32fc in Funktion referenziert "int __cdecl nesta (struct Ipp32fc *, struct Ipp32fc *)" (nesta @@ YAHPEAUIpp32fc @@ 0 @ Z) nesta.obj: Fehler LNK2019: nicht aufgelöstes externes Symbol ippsMulC_32fc, auf das in der Funktion "int __cdecl nesta (Struktur Ipp32fc *, Struktur Ipp32fc *)" verwiesen wird (? nesta @@ YAHPEAUIpp32fc @@ 0 @ Z) nesta.obj: Fehler LNK2019: nicht aufgelöst externes Symbol ippsMul_32fc, auf das in der Funktion "void __cdecl perform_L1_constraint (struct Ipp32fc *, float, struct Ipp32fc *, float *) "(? Perform_L1_constraint @@ YAXPEAUpp32fc @@ M0PEAM @ Z) nesta.obj: Fehler LNK2019: nicht aufgelöstes externes Symbol ippsSub_32fc_I referenziert in der Funktion" int __cdecl nesta (struct Ipp32fc *, struct Ipp32fc *) "(nesta @@ YAHPEAUIpp32fc @@ 0 @ Z) nesta.obj: Fehler LNK2019: nicht aufgelöstes externes Symbol ippsSub_32fc in Funktion referenziert" int __cdecl nesta (struct Ipp32fc *, struct Ipp32fc *) "(? nesta @@ YAHPEAUIpp32fc @@ 0 @ Z) nesta.obj: Fehler LNK2019: nicht aufgelöstes externes Symbol ippsDiv_32fc_I in Funktion referenziert" void __cdecl perform_L1_constraint (Struktur Ipp32fc *, float, Struktur Ipp32fc *, float *) "(? perform_L1_constraint @@ YAXPEAUpp32fc @@ M0PEAM @ Z) nesta.obj: Fehler LNK2019: nicht aufgelöst e xternal Symbol ippsConj_32fc in Funktion "Leere __cdecl perform_L1_constraint (struct Ipp32fc *, float, struct Ipp32fc *, float *)" verwiesen (perform_L1_constraint @@ YAXPEAUIpp32fc @@ M0PEAM @ Z?) nesta.obj: error LNK2019: nicht aufgelöstes externes Symbol ippsSum_32fc referenziert in der Funktion "void __cdecl perform_L1_constraint (struct Ipp32fc *, float, struct Ipp32fc *, float *)" (? perform_L1_constraint @@ YAXPEAUpp32fc @@ M0PEAM @ Z) nesta.obj: Fehler LNK2019: nicht aufgelöstes externes Symbol ippsMax_32f referenziert in Funktion "int __cdecl nesta (struct Ipp32fc *, struct Ipp32fc *)" (nesta @@ YAHPEAUIpp32fc @@ 0 @ Z?) nesta.obj: error LNK2019: nicht aufgelöstes externes Symbol ippsNorm_L2_32fc64f in Funktion referenziert „Leere __cdecl perform_L1_constraint (struct Ipp32fc *, float, struct Ipp32fc *, float *) "(? perform_L1_constraint @@ YAXPEAUpp32fc @@ M0PEAM @ Z) nesta.obj: Fehler LNK2019: nicht aufgelöstes externes Symbol ippsDFTInit_C_32fc, auf das in der Funktion" int __cdecl nesta (Struktur Ipp32fc *, struct Ipp32fc *) "verwiesen wird (? nesta @@ YAHPEAUIpp32fc @@ 0 @ Z) nesta.obj: Fehler LNK2019: nicht aufgelöstes externes Symbol ippsDFTFwd_CToC_32fc, auf das in der Funktion "void __cdecl A (Struktur Ipp32fc *, Struktur Ipp32fc *, Struktur DFTSpec_C_32fc *)" (?A @@ YAXPEAUIpp32fc @@ 0PEAUDFTSpec_C_32fc @@@ Z) nesta.obj: Fehler LNK2019: nicht aufgelöstes externes Symbol ippsDFTInv_CToC_32fc, auf das in der Funktion "void __cdecl At (Struktur Ipp32fc *, Struktur Ipp32fc *, Struktur DFTSpec_C_32fc *)" (? At @) verwiesen wird @ @@ YAXPEAUIpp32fc 0PEAUDFTSpec_C_32fc @@@ Z) nesta.obj: error LNK2019: nicht aufgelöstes externes Symbol ippsAbs_32fc_A11 in Funktion referenziert "int __cdecl nesta (struct Ipp32fc *, struct Ipp32fc *)" (nesta @@ YAHPEAUIpp32fc @@ @ 0 Z) nesta.mexw64: schwerwiegender Fehler LNK1120: 15 ungelöster externals`enter Code hier

Antwort

1

sieht aus wie ich es gelöst. Die Flag -l funktionierte nicht so, wie ich es erwartet hatte.

dieser Befehl gearbeitet:

mex 'C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.2.187\windows\ipp\lib\intel64_win\*.lib' nesta.cpp -I'C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.2.187\windows\ipp\include' 
Verwandte Themen