2017-12-07 9 views
1

mingwで2018バージョンのIntel IPPを使用しようとしていますが、インテルが提供する.libをプログラムにリンクする際に問題があります。私はコンパイルしていたプログラムは、メイクファイルここhttps://software.intel.com/en-us/ipp-dev-guide-building-intel-ipp-applicationsIPP 2018とmingwのリンク

でのIPPの例です:

HDIR = "C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2018.1.156\windows\ipp\include" 
LDADD = "C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2018.1.156\windows\ipp\lib\intel64_win" 
SOURCES= test.cpp 
OBJECTS1=$(patsubst %.cpp,%.o,$(SOURCES)) 
OBJECTS=$(patsubst %.c,%.o,$(OBJECTS1)) 

all debug profile static depend: $(OBJECTS) 
    g++ -o test.exe test.o $(CXXFLAGS) -L$(LDADD) -lippcc -lippi -lipps -lippcore -lm 


%.o: %.cpp 
    g++ -c $< -I $(HDIR) $(CXXFLAGS) 

%.o: %.c 
    g++ -c $< -I $(HDIR) $(CXXFLAGS) 

clean: 
    rm -f *.o 

、ここでgccの出力です:

g++ -c test.cpp -I "C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_ 
2018.1.156\windows\ipp\include" 
g++ -o test.exe test.o -L"C:\Program Files (x86)\IntelSWTools\compilers_and_lib 
raries_2018.1.156\windows\ipp\lib\intel64_win" -lippcc -lippi -lipps -lippcore - 
lm 
test.o:test.cpp:(.text+0x14): undefined reference to `ippInit' 
test.o:test.cpp:(.text+0x19): undefined reference to `ippGetLibVersion' 
test.o:test.cpp:(.text+0x5f): undefined reference to `ippGetCpuFeatures' 
test.o:test.cpp:(.text+0x79): undefined reference to `ippGetEnabledCpuFeatures' 
collect2: error: ld returned 1 exit status 
Makefile:8: recipe for target 'all' failed 
make: *** [all] Error 1 

リンカがライブラリを見つけることですが、私ドンなぜ私が未定義の参照を得ているのか理解できません。誰かが最近のIPPバージョンをmingwでコンパイルするのに成功しましたか?

答えて

0

.libの代わりに.dllにリンクし、dllの32ビット版を使用して解決しました(私のgccは64ビットでしたが、そうではありませんでした)。

ライブラリをリンカに与えるための正しいパスである:

LDADD = "C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2018.1.156\windows\redist\ia32_win\ipp" 

(あなたは、32ビットを使用している場合)

関連する問題