2016-01-22 107 views
1

我想在Linux上編譯一個帶有GNSDK(Gracenote SDK)的應用程序,但是我有錯誤(我使用Code :: Blocks)。我不想用musicid_file_trackid函數使用gracenote指紋。我使用Windows上的Visual Studio編譯工作正常,但不能在Linux(Code :: Blocks with GNU GCC Compiler)上運行。Gracenote GNSDK在Linux上編譯

我有這樣的問題:

||=== Build: Release in Gracenote (compiler: GNU GCC Compiler) ===| 
gcsl_fingerprint.c|| référence indéfinie vers « ippStaticInit »| 
gn_patchfp.c|| référence indéfinie vers « ippStaticInit »| 
CMFingerprinter.c|| référence indéfinie vers « ippsFree »| 
CMFingerprinter.c|| référence indéfinie vers « ippsMalloc_32f »| 
CMFrameManager.c|| référence indéfinie vers « ippsDCTFwdFree_32f »| 
CMFrameManager.c|| référence indéfinie vers « ippsFree »| 
CMFrameManager.c|| référence indéfinie vers « ippsDCTFwdInitAlloc_32f »| 
CMFrameManager.c|| référence indéfinie vers « ippsDCTFwdInitAlloc_32f »| 
CMFrameManager.c|| référence indéfinie vers « ippsDCTFwdGetBufSize_32f »| 
CMFrameManager.c|| référence indéfinie vers « ippsMalloc_8u »| 
CMFrameManager.c|| référence indéfinie vers « ippsDCTFwdGetBufSize_32f »| 
CMFrameManager.c|| référence indéfinie vers « ippsMalloc_8u »| 
CMFrameManager.c|| référence indéfinie vers « ippsDCTFwd_32f_I »| 
CMFrameManager.c|| référence indéfinie vers « ippsDCTFwd_32f_I »| 
CMHistogramEqualizer.c|| référence indéfinie vers « ippsMinMax_32f »| 
CMHistogramEqualizer.c|| référence indéfinie vers « ippsMinMax_32f »| 
CMHistogramEqualizer.c|| référence indéfinie vers « ippsSubC_32f_I »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsMalloc_32s »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsMalloc_32s »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsFFTInitAlloc_R_32s »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsFFTFree_R_32s »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsFree »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsFree »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsFFTGetBufSize_R_32s »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsMalloc_8u »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsAbs_32s_I »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsFree »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsFFTFree_R_32s »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsFree »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsFree »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsFree »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsMaxAbs_32s »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsLShiftC_32s_I »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsRShiftC_32s_I »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsMul_32s_ISfs »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsFFTFwd_RToPerm_32s_Sfs »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsMagSquared_32sc32s_Sfs »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsDotProd_16s32s32s_Sfs »| 
FixedFAPIFingerprinter.c|| référence indéfinie vers « ippsDotProd_16s32s32s_Sfs »| 
GNDSP_Resampler.c|| référence indéfinie vers « ippsFree »| 
GNDSP_Resampler.c|| référence indéfinie vers « ippsMalloc_32f »| 
GNDSP_Resampler.c|| référence indéfinie vers « ippsDotProd_32f »| 
GNDSP_Resampler.c|| référence indéfinie vers « ippsDotProd_32f »| 
GNDSP_Resampler.c|| référence indéfinie vers « ippsDotProd_32f »| 
GNDSP_Resampler.c|| référence indéfinie vers « ippsDotProd_32f »| 
GNDSP_Resampler.c|| référence indéfinie vers « ippsDotProd_32f »| 
lib_static/libgnsdk_dsp.a(GNDSP_Resampler.o):GNDSP_Resampler.c|| encore plus de références indéfinies suivent vers « ippsDotProd_32f »| 
gcsl_memory_markers.c|| référence indéfinie vers « pthread_key_create »| 
gcsl_memory_markers.c|| référence indéfinie vers « pthread_key_delete »| 
gcsl_memory_markers.c|| référence indéfinie vers « pthread_getspecific »| 
||More errors follow but not being shown.| 
||Edit the max errors limit in compiler options...| 
||=== Build failed: 50 error(s), 0 warning(s) (0 minute(s), 3 second(s)) ===| 

Linker commaandline: 

    g++ -Llib -Llib_static -o bin/Release/Gracenote obj/Release/main.o -s -pthread lib_static/libgnsdk_dsp.a lib_static/libgnsdk_link.a lib_static/libgnsdk_lookup_local.a lib_static/libgnsdk_lookup_localstream.a lib_static/libgnsdk_manager.a lib_static/libgnsdk_moodgrid.a lib_static/libgnsdk_musicid.a lib_static/libgnsdk_musicid_file.a lib_static/libgnsdk_musicid_stream.a lib_static/libgnsdk_playlist.a lib_static/libgnsdk_storage_sqlite.a lib_static/libgnsdk_video.a 


-------------- Build: Release in Gracenote (compiler: GNU GCC Compiler)--------------- 

g++ -Llib -Llib_static -o bin/Release/Gracenote obj/Release/main.o -s -pthread lib_static/libgnsdk_dsp.a lib_static/libgnsdk_link.a lib_static/libgnsdk_lookup_local.a lib_static/libgnsdk_lookup_localstream.a lib_static/libgnsdk_manager.a lib_static/libgnsdk_moodgrid.a lib_static/libgnsdk_musicid.a lib_static/libgnsdk_musicid_file.a lib_static/libgnsdk_musicid_stream.a lib_static/libgnsdk_playlist.a lib_static/libgnsdk_storage_sqlite.a lib_static/libgnsdk_video.a 
lib_static/libgnsdk_dsp.a(gcsl_fingerprint.o): dans la fonction « _fingerprint_init_func »: 
gcsl_fingerprint.c:(.text+0xa1): référence indéfinie vers « ippStaticInit » 
lib_static/libgnsdk_dsp.a(gn_patchfp.o): dans la fonction « patchfp_initialize »: 
gn_patchfp.c:(.text+0x5): référence indéfinie vers « ippStaticInit » 
lib_static/libgnsdk_dsp.a(CMFingerprinter.o): dans la fonction « CMFP_Destroy »: 
CMFingerprinter.c:(.text+0xc2): référence indéfinie vers « ippsFree » 
lib_static/libgnsdk_dsp.a(CMFingerprinter.o): dans la fonction « CMFP_Create »: 
CMFingerprinter.c:(.text+0x285): référence indéfinie vers « ippsMalloc_32f » 
lib_static/libgnsdk_dsp.a(CMFrameManager.o): dans la fonction « CMFM_Destroy »: 
CMFrameManager.c:(.text+0x211): référence indéfinie vers « ippsDCTFwdFree_32f » 
CMFrameManager.c:(.text+0x231): référence indéfinie vers « ippsFree » 
lib_static/libgnsdk_dsp.a(CMFrameManager.o): dans la fonction « CMFM_Create »: 
CMFrameManager.c:(.text+0x34d): référence indéfinie vers « ippsDCTFwdInitAlloc_32f » 
CMFrameManager.c:(.text+0x461): référence indéfinie vers « ippsDCTFwdInitAlloc_32f » 
CMFrameManager.c:(.text+0x4af): référence indéfinie vers « ippsDCTFwdGetBufSize_32f » 
CMFrameManager.c:(.text+0x4bf): référence indéfinie vers « ippsMalloc_8u » 
CMFrameManager.c:(.text+0x4d9): référence indéfinie vers « ippsDCTFwdGetBufSize_32f » 
CMFrameManager.c:(.text+0x4e5): référence indéfinie vers « ippsMalloc_8u » 
lib_static/libgnsdk_dsp.a(CMFrameManager.o): dans la fonction « CMFM_AppendDualPCMData »: 
CMFrameManager.c:(.text+0xe38): référence indéfinie vers « ippsDCTFwd_32f_I » 
CMFrameManager.c:(.text+0xf53): référence indéfinie vers « ippsDCTFwd_32f_I » 
lib_static/libgnsdk_dsp.a(CMHistogramEqualizer.o): dans la fonction « hist_eq_dual »: 
CMHistogramEqualizer.c:(.text+0x152): référence indéfinie vers « ippsMinMax_32f » 
CMHistogramEqualizer.c:(.text+0x169): référence indéfinie vers « ippsMinMax_32f » 
CMHistogramEqualizer.c:(.text+0x2b4): référence indéfinie vers « ippsSubC_32f_I » 
lib_static/libgnsdk_dsp.a(FixedFAPIFingerprinter.o): dans la fonction « FixedFAPIFingerprinterCreate »: 
FixedFAPIFingerprinter.c:(.text+0x2fb): référence indéfinie vers « ippsMalloc_32s » 
FixedFAPIFingerprinter.c:(.text+0x30f): référence indéfinie vers « ippsMalloc_32s » 
FixedFAPIFingerprinter.c:(.text+0x34e): référence indéfinie vers « ippsFFTInitAlloc_R_32s » 
FixedFAPIFingerprinter.c:(.text+0x3af): référence indéfinie vers « ippsFFTFree_R_32s » 
FixedFAPIFingerprinter.c:(.text+0x3d6): référence indéfinie vers « ippsFree » 
FixedFAPIFingerprinter.c:(.text+0x3e2): référence indéfinie vers « ippsFree » 
FixedFAPIFingerprinter.c:(.text+0x4a7): référence indéfinie vers « ippsFFTGetBufSize_R_32s » 
FixedFAPIFingerprinter.c:(.text+0x4ba): référence indéfinie vers « ippsMalloc_8u » 
FixedFAPIFingerprinter.c:(.text+0x59e): référence indéfinie vers « ippsAbs_32s_I » 
FixedFAPIFingerprinter.c:(.text+0x5a8): référence indéfinie vers « ippsFree » 
lib_static/libgnsdk_dsp.a(FixedFAPIFingerprinter.o): dans la fonction « FixedFAPIFingerprinterDelete »: 
FixedFAPIFingerprinter.c:(.text+0x67c): référence indéfinie vers « ippsFFTFree_R_32s » 
FixedFAPIFingerprinter.c:(.text+0x697): référence indéfinie vers « ippsFree » 
FixedFAPIFingerprinter.c:(.text+0x6a4): référence indéfinie vers « ippsFree » 
FixedFAPIFingerprinter.c:(.text+0x6d1): référence indéfinie vers « ippsFree » 
lib_static/libgnsdk_dsp.a(FixedFAPIFingerprinter.o): dans la fonction « ScaleToMaxQ »: 
FixedFAPIFingerprinter.c:(.text+0x96d): référence indéfinie vers « ippsMaxAbs_32s » 
FixedFAPIFingerprinter.c:(.text+0x9e0): référence indéfinie vers « ippsLShiftC_32s_I » 
FixedFAPIFingerprinter.c:(.text+0x9fc): référence indéfinie vers « ippsRShiftC_32s_I » 
lib_static/libgnsdk_dsp.a(FixedFAPIFingerprinter.o): dans la fonction « ExtractSoftSubFingerprint »: 
FixedFAPIFingerprinter.c:(.text+0xad9): référence indéfinie vers « ippsMul_32s_ISfs » 
FixedFAPIFingerprinter.c:(.text+0xb18): référence indéfinie vers « ippsFFTFwd_RToPerm_32s_Sfs » 
FixedFAPIFingerprinter.c:(.text+0xb6b): référence indéfinie vers « ippsMagSquared_32sc32s_Sfs » 
lib_static/libgnsdk_dsp.a(FixedFAPIFingerprinter.o): dans la fonction « ApplyLowPassFilter »: 
FixedFAPIFingerprinter.c:(.text+0x161c): référence indéfinie vers « ippsDotProd_16s32s32s_Sfs » 
lib_static/libgnsdk_dsp.a(FixedFAPIFingerprinter.o): dans la fonction « ApplyLowPassHQ »: 
FixedFAPIFingerprinter.c:(.text+0x166c): référence indéfinie vers « ippsDotProd_16s32s32s_Sfs » 
lib_static/libgnsdk_dsp.a(GNDSP_Resampler.o): dans la fonction « GNDSP_DestroyResampler »: 
GNDSP_Resampler.c:(.text+0x41): référence indéfinie vers « ippsFree » 
lib_static/libgnsdk_dsp.a(GNDSP_Resampler.o): dans la fonction « GNDSP_CreateResampler »: 
GNDSP_Resampler.c:(.text+0x539): référence indéfinie vers « ippsMalloc_32f » 
lib_static/libgnsdk_dsp.a(GNDSP_Resampler.o): dans la fonction « GNDSP_Resample »: 
GNDSP_Resampler.c:(.text+0xa39): référence indéfinie vers « ippsDotProd_32f » 
GNDSP_Resampler.c:(.text+0xa51): référence indéfinie vers « ippsDotProd_32f » 
GNDSP_Resampler.c:(.text+0xa69): référence indéfinie vers « ippsDotProd_32f » 
GNDSP_Resampler.c:(.text+0xa85): référence indéfinie vers « ippsDotProd_32f » 
GNDSP_Resampler.c:(.text+0xacf): référence indéfinie vers « ippsDotProd_32f » 
lib_static/libgnsdk_dsp.a(GNDSP_Resampler.o):GNDSP_Resampler.c:(.text+0xb31): encore plus de références indéfinies suivent vers « ippsDotProd_32f » 
lib_static/libgnsdk_manager.a(gcsl_process.o): dans la fonction « gcsl_process_library_sym »: 
gcsl_process.c:(.text+0x49): référence indéfinie vers « dlsym » 
lib_static/libgnsdk_manager.a(gcsl_process.o): dans la fonction « gcsl_process_library_load »: 
gcsl_process.c:(.text+0x262): référence indéfinie vers « dlopen » 
gcsl_process.c:(.text+0x366): référence indéfinie vers « dlclose » 
Process terminated with status 1 (0 minute(s), 1 second(s)) 
50 error(s), 0 warning(s) (0 minute(s), 1 second(s)) 

我怎樣才能解決這個問題呢?

預先感謝您。

文森特萊韋克塔

編輯: 我已經試過你的recommandation但與此連接選項:

-lgnsdk_dsp 
-lgnsdk_link 
-lgnsdk_lookup_local 
-lgnsdk_lookup_localstream 
-lgnsdk_manager 
-lgnsdk_moodgrid 
-lgnsdk_musicid 
-lgnsdk_musicid_file 
-lgnsdk_musicid_stream 
-lgnsdk_playlist 
-lgnsdk_storage_sqlite 
-lgnsdk_video 
-lippcore 
-lippcc 
-lippch 
-lippcv 
-lippdc 
-lippi 
-lipps 
-lippvm 
-pthread 

但我一直錯誤:

-------------- Clean: Release in Gracenote (compiler: GNU GCC Compiler)--------------- 

Cleaned "Gracenote - Release" 

-------------- Build: Release in Gracenote (compiler: GNU GCC Compiler)--------------- 

gcc -Wall -O2 -c /home/membre/codeblocks/Gracenote/main.c -o obj/Release/main.o 
g++ -Llib/linux_x86-64 -Llib_static/linux_x86-64 -Lipps -o bin/Release/Gracenote obj/Release/main.o -s -lgnsdk_dsp -lgnsdk_link -lgnsdk_lookup_local -lgnsdk_lookup_localstream -lgnsdk_manager -lgnsdk_moodgrid -lgnsdk_musicid -lgnsdk_musicid_file -lgnsdk_musicid_stream -lgnsdk_playlist -lgnsdk_storage_sqlite -lgnsdk_video -lippcore -lippcc -lippch -lippcv -lippdc -lippi -lipps -lippvm -pthread 
lib_static/linux_x86-64/libgnsdk_dsp.a(gcsl_fingerprint.o): dans la fonction « _fingerprint_init_func »: 
gcsl_fingerprint.c:(.text+0xa1): référence indéfinie vers « ippStaticInit » 
lib_static/linux_x86-64/libgnsdk_dsp.a(gn_patchfp.o): dans la fonction « patchfp_initialize »: 
gn_patchfp.c:(.text+0x5): référence indéfinie vers « ippStaticInit » 
lib_static/linux_x86-64/libgnsdk_dsp.a(CMFrameManager.o): dans la fonction « CMFM_Destroy »: 
CMFrameManager.c:(.text+0x211): référence indéfinie vers « ippsDCTFwdFree_32f » 
lib_static/linux_x86-64/libgnsdk_dsp.a(CMFrameManager.o): dans la fonction « CMFM_Create »: 
CMFrameManager.c:(.text+0x34d): référence indéfinie vers « ippsDCTFwdInitAlloc_32f » 
CMFrameManager.c:(.text+0x461): référence indéfinie vers « ippsDCTFwdInitAlloc_32f » 
CMFrameManager.c:(.text+0x4af): référence indéfinie vers « ippsDCTFwdGetBufSize_32f » 
CMFrameManager.c:(.text+0x4d9): référence indéfinie vers « ippsDCTFwdGetBufSize_32f » 
lib_static/linux_x86-64/libgnsdk_dsp.a(FixedFAPIFingerprinter.o): dans la fonction « FixedFAPIFingerprinterCreate »: 
FixedFAPIFingerprinter.c:(.text+0x34e): référence indéfinie vers « ippsFFTInitAlloc_R_32s » 
FixedFAPIFingerprinter.c:(.text+0x3af): référence indéfinie vers « ippsFFTFree_R_32s » 
FixedFAPIFingerprinter.c:(.text+0x4a7): référence indéfinie vers « ippsFFTGetBufSize_R_32s » 
lib_static/linux_x86-64/libgnsdk_dsp.a(FixedFAPIFingerprinter.o): dans la fonction « FixedFAPIFingerprinterDelete »: 
FixedFAPIFingerprinter.c:(.text+0x67c): référence indéfinie vers « ippsFFTFree_R_32s » 
lib_static/linux_x86-64/libgnsdk_dsp.a(FixedFAPIFingerprinter.o): dans la fonction « ExtractSoftSubFingerprint »: 
FixedFAPIFingerprinter.c:(.text+0xb18): référence indéfinie vers « ippsFFTFwd_RToPerm_32s_Sfs » 
FixedFAPIFingerprinter.c:(.text+0xb6b): référence indéfinie vers « ippsMagSquared_32sc32s_Sfs » 
lib_static/linux_x86-64/libgnsdk_manager.a(gcsl_process.o): dans la fonction « gcsl_process_library_sym »: 
gcsl_process.c:(.text+0x49): référence indéfinie vers « dlsym » 
lib_static/linux_x86-64/libgnsdk_manager.a(gcsl_process.o): dans la fonction « gcsl_process_library_load »: 
gcsl_process.c:(.text+0x262): référence indéfinie vers « dlopen » 
gcsl_process.c:(.text+0x366): référence indéfinie vers « dlclose » 
lib_static/linux_x86-64/libgnsdk_manager.a(gcsl_process.o): dans la fonction « gcsl_process_library_free »: 
gcsl_process.c:(.text+0x411): référence indéfinie vers « dlclose » 
lib_static/linux_x86-64/libgnsdk_musicid_stream.a(gnsdk_musicid_stream.o): dans la fonction « gnsdk_musicidstream_channel_audio_write »: 
gnsdk_musicid_stream.c:(.text+0x2982): référence indéfinie vers « gcsl_circbuf_write » 
lib_static/linux_x86-64/libgnsdk_musicid_stream.a(mids_fsm.o): dans la fonction « mids_fsm_state_process_circularbuffer »: 
mids_fsm.c:(.text+0x1043): référence indéfinie vers « gcsl_circbuf_size » 
mids_fsm.c:(.text+0x10ec): référence indéfinie vers « gcsl_circbuf_get_newest » 
lib_static/linux_x86-64/libgnsdk_musicid_stream.a(mids_internal.o): dans la fonction « audio_session_delete »: 
mids_internal.c:(.text+0x527): référence indéfinie vers « gcsl_circbuf_delete » 
lib_static/linux_x86-64/libgnsdk_musicid_stream.a(mids_internal.o): dans la fonction « audio_session_create »: 
mids_internal.c:(.text+0x8ed): référence indéfinie vers « gcsl_circbuf_create » 
lib_static/linux_x86-64/libgnsdk_storage_sqlite.a(sqlite3.o): dans la fonction « unixDlSym »: 
sqlite3.c:(.text+0x4606): référence indéfinie vers « dlsym » 
lib_static/linux_x86-64/libgnsdk_storage_sqlite.a(sqlite3.o): dans la fonction « unixDlError »: 
sqlite3.c:(.text+0x1e4f9): référence indéfinie vers « dlerror » 
lib_static/linux_x86-64/libgnsdk_storage_sqlite.a(sqlite3.o): dans la fonction « unixDlOpen »: 
sqlite3.c:(.text+0x45f9): référence indéfinie vers « dlopen » 
lib_static/linux_x86-64/libgnsdk_storage_sqlite.a(sqlite3.o): dans la fonction « unixDlClose »: 
sqlite3.c:(.text+0x4614): référence indéfinie vers « dlclose » 
ipps/libipps.a(jmp_ippsAbs_32s_I_as.o): dans la fonction « aucun symbole »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsAbs_32s_I_as.s:(.text+0x1): référence indéfinie vers « ippSafeInit » 
ipps/libipps.a(jmp_ippsAbs_32s_I_as.o): dans la fonction « ippsAbs_32s_I »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsAbs_32s_I_as.s:(.text+0x13): référence indéfinie vers « ippJumpIndexForMergedLibs » 
ipps/libipps.a(jmp_ippsDCTFwd_32f_I_as.o): dans la fonction « aucun symbole »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsDCTFwd_32f_I_as.s:(.text+0x1): référence indéfinie vers « ippSafeInit » 
ipps/libipps.a(jmp_ippsDCTFwd_32f_I_as.o): dans la fonction « ippsDCTFwd_32f_I »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsDCTFwd_32f_I_as.s:(.text+0x13): référence indéfinie vers « ippJumpIndexForMergedLibs » 
ipps/libipps.a(jmp_ippsDotProd_16s32s32s_Sfs_as.o): dans la fonction « aucun symbole »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsDotProd_16s32s32s_Sfs_as.s:(.text+0x1): référence indéfinie vers « ippSafeInit » 
ipps/libipps.a(jmp_ippsDotProd_16s32s32s_Sfs_as.o): dans la fonction « ippsDotProd_16s32s32s_Sfs »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsDotProd_16s32s32s_Sfs_as.s:(.text+0x13): référence indéfinie vers « ippJumpIndexForMergedLibs » 
ipps/libipps.a(jmp_ippsDotProd_32f_as.o): dans la fonction « aucun symbole »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsDotProd_32f_as.s:(.text+0x1): référence indéfinie vers « ippSafeInit » 
ipps/libipps.a(jmp_ippsDotProd_32f_as.o): dans la fonction « ippsDotProd_32f »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsDotProd_32f_as.s:(.text+0x13): référence indéfinie vers « ippJumpIndexForMergedLibs » 
ipps/libipps.a(jmp_ippsFree_as.o): dans la fonction « aucun symbole »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsFree_as.s:(.text+0x1): référence indéfinie vers « ippSafeInit » 
ipps/libipps.a(jmp_ippsFree_as.o): dans la fonction « ippsFree »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsFree_as.s:(.text+0x13): référence indéfinie vers « ippJumpIndexForMergedLibs » 
ipps/libipps.a(jmp_ippsLShiftC_32s_I_as.o): dans la fonction « aucun symbole »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsLShiftC_32s_I_as.s:(.text+0x1): référence indéfinie vers « ippSafeInit » 
ipps/libipps.a(jmp_ippsLShiftC_32s_I_as.o): dans la fonction « ippsLShiftC_32s_I »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsLShiftC_32s_I_as.s:(.text+0x13): référence indéfinie vers « ippJumpIndexForMergedLibs » 
ipps/libipps.a(jmp_ippsMalloc_32f_as.o): dans la fonction « aucun symbole »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsMalloc_32f_as.s:(.text+0x1): référence indéfinie vers « ippSafeInit » 
ipps/libipps.a(jmp_ippsMalloc_32f_as.o): dans la fonction « ippsMalloc_32f »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsMalloc_32f_as.s:(.text+0x13): référence indéfinie vers « ippJumpIndexForMergedLibs » 
ipps/libipps.a(jmp_ippsMalloc_32s_as.o): dans la fonction « aucun symbole »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsMalloc_32s_as.s:(.text+0x1): référence indéfinie vers « ippSafeInit » 
ipps/libipps.a(jmp_ippsMalloc_32s_as.o): dans la fonction « ippsMalloc_32s »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsMalloc_32s_as.s:(.text+0x13): référence indéfinie vers « ippJumpIndexForMergedLibs » 
ipps/libipps.a(jmp_ippsMalloc_8u_as.o): dans la fonction « aucun symbole »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsMalloc_8u_as.s:(.text+0x1): référence indéfinie vers « ippSafeInit » 
ipps/libipps.a(jmp_ippsMalloc_8u_as.o): dans la fonction « ippsMalloc_8u »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsMalloc_8u_as.s:(.text+0x13): référence indéfinie vers « ippJumpIndexForMergedLibs » 
ipps/libipps.a(jmp_ippsMaxAbs_32s_as.o): dans la fonction « aucun symbole »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsMaxAbs_32s_as.s:(.text+0x1): référence indéfinie vers « ippSafeInit » 
ipps/libipps.a(jmp_ippsMaxAbs_32s_as.o): dans la fonction « ippsMaxAbs_32s »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsMaxAbs_32s_as.s:(.text+0x13): référence indéfinie vers « ippJumpIndexForMergedLibs » 
ipps/libipps.a(jmp_ippsMinMax_32f_as.o): dans la fonction « aucun symbole »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsMinMax_32f_as.s:(.text+0x1): référence indéfinie vers « ippSafeInit » 
ipps/libipps.a(jmp_ippsMinMax_32f_as.o): dans la fonction « ippsMinMax_32f »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsMinMax_32f_as.s:(.text+0x13): référence indéfinie vers « ippJumpIndexForMergedLibs » 
ipps/libipps.a(jmp_ippsMul_32s_ISfs_as.o): dans la fonction « aucun symbole »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsMul_32s_ISfs_as.s:(.text+0x1): référence indéfinie vers « ippSafeInit » 
ipps/libipps.a(jmp_ippsMul_32s_ISfs_as.o): dans la fonction « ippsMul_32s_ISfs »: 
/localdisk/commander/production/ipp901gold/linux_intel64/.build/linux/obj/intel64/ipps/emerged_compl/nonpic/dispatcher/jmp_ippsMul_32s_ISfs_as.s:(.text+0x13): référence indéfinie vers « ippJumpIndexForMergedLibs » 
Process terminated with status 1 (0 minute(s), 3 second(s)) 
50 error(s), 0 warning(s) (0 minute(s), 3 second(s)) 
+0

您未鏈接所需的英特爾集成性能基元庫 庫。除非您發佈生成錯誤的gcc鏈接 命令,否則不可能說明原因。您可以在失敗的構建的**構建日誌** 選項卡(而不是**構建消息**選項卡)中找到它。你也是 不鏈接'libpthread',可能是因爲你沒有添加'-pthread'到**構建選項** - > **鏈接器設置** - > **其他鏈接器選項**。 –

+0

如何鏈接英特爾集成性能基元庫?有可能在LInux上? –

+0

正如我所說的,如果沒有 看到構建日誌中失敗的gcc鏈接命令,就無法更準確地解釋失敗。在問題中發佈此 信息(不在評論中)。 –

回答

0

通過Gracenote SDK庫,你正在將打電話連接到功能 ,這些功能在某些或其他Intel Integrated Performance Prim itives圖書館。 Gracenote SDK(至少是你擁有的)顯然希望你擁有那些 庫。也許它們被包含在SDK中的某個地方。也許你應該 得到他們自己。無論如何,你沒有鏈接任何一個;因此未定義的參考文獻 鏈接錯誤。

這些庫的名稱形式爲libipp*.a。在您的SDK中查找它們。如果您 無法找到他們,你可以從here

下載這些免費一旦你得到了它們,你需要將你的程序與像一個命令行鏈接:

g++ -L/path/to/lib -L/path/to/lib_static -L/path/to/the/IPP/libraries \ 
-o bin/Release/Gracenote obj/Release/main.o \ 
-lgnsdk_dsp \ 
-lgnsdk_link \ 
-lgnsdk_lookup_local \ 
-lgnsdk_lookup_localstream \ 
-lgnsdk_manager \ 
-lgnsdk_moodgrid \ 
-lgnsdk_musicid \ 
-lgnsdk_musicid_file \ 
-lgnsdk_musicid_stream \ 
-lgnsdk_playlist \ 
-lgnsdk_storage_sqlite \ 
-lgnsdk_video \ 
-lipp? \ 
-lipp?? \ 
-lipp??? \ 
-pthread 

其中-lipp? -lipp?? -lipp???是什麼IPP庫需要 解決SDK庫中的所有引用。

您需要配置您的Code :: Blocks項目中的選項,以便它 將生成g ++的正確鏈接命令行。具體步驟如下:

- >構建選項 - >搜索目錄 - >鏈接,加上每個:

/path/to/lib 
/path/to/lib_static 
/path/to/the/IPP/libraries 

- >構建選項 - >鏈接器設置 - >鏈接庫, rem在此輸入所有lib_static/libgnsdk???.a選項。

- >構建選項 - >連接器設置 - >其他連接選項, 添加所有的,我已經上面列出的-l<name>選項,加上-pthread,順序 我已列出他們。 (請注意,-l<name>是正確的; -llib<name>是錯誤的。)

您可以嘗試發現準確找到哪個IPP庫以實現連續鏈接。

+0

謝謝你的幫助,我開始理解鏈接庫系統,但我總是有錯誤(編輯我的答案)。 –

+0

@Vincentleveque對不起,我無法爲你解決這個問題。聯繫非常複雜而且非常破碎。您需要有人在Linux和GCC上有GNSDK經驗的人員的幫助。 我是第二個但不是第一個:( –

+0

我在AMD Athlon的舊電腦上測試過,我的問題可能與這個不是Intel處理器有關嗎? 我可以嘗試一款採用英特爾酷睿i3的新型PC –