- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想在 Linux 上使用 GNSDK (Gracenote SDK) 编译一个应用程序,但我有错误(我使用 Code::Blocks)。我不想将 gracenote 指纹与 musicid_file_trackid 函数一起使用。
我在 Windows 上使用 Visual Studio 进行的编译工作正常,但在 Linux 上却不行(Code::Blocks with GNU GCC Compiler)。
我有这个问题:
||=== 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))
我该如何解决这个问题?
提前谢谢你。
文森特·勒维克
编辑:我已经尝试了你的建议,但使用了这个链接器选项:
-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))
最佳答案
您正在链接的 Gracenote SDK 库调用函数在某些或其他英特尔集成性能基元库中定义的。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++ 生成正确的链接命令行。按如下方式执行此操作:
在 -> Build options -> Search directories -> Linker,添加每一个:
/path/to/lib
/path/to/lib_static
/path/to/the/IPP/libraries
在 -> Build options -> Linker settings -> Link libraries,删除所有 lib_static/libgnsdk???.a
您在那里输入的选项。
在 -> Build options -> Linker settings -> Other linker options,添加所有 -l<name>
我上面列出的选项,加上 -pthread
, 按顺序我已经列出了它们。 (注意 -l<name>
是正确的;-llib<name>
是错误的。)
您可以通过实验来准确发现成功链接所需的 IPP 库。
关于linux - Gracenote GNSDK 在 linux 上编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34944906/
是否有任何库或框架旨在促进从另一种成熟的编程语言中构建项目? 在 C++、java 等编程语言中指定逻辑、集合和复杂规则非常容易,但在 Makefile 中完成这些事情似乎是一场艰苦的战斗。我还没有深
我有这段代码可以用 clang 编译得很好(即使使用 -Weverything),但是 gcc 会发出错误。 #include #include #include using namespace
我有以下 block 头文件 BKE_mesh.h: /* Connectivity data */ typedef struct IndexNode { struct IndexNode *
我在我的一个项目中遇到了一个奇怪的问题。我的代码库依赖于一个外部库,其中包含一个名为 Dataset 的类. Dataset类私有(private)继承自 std::vector (其中 Sample
当使用 gcc、g++ 或 make 在终端中编译一个小型 C 或 C++ 项目时,我收到以下错误: /tmp/ccG1caGi.o: In function `main': main.c:(.tex
我正在尝试从 CVS 为 Windows 上的 Emacs 23.1.50 编译 CEDET,但在“第 6 步:打开 EDE...”时出现错误:“defvar:作为变量的符号值是无效的:cedet-m
我正在(重新)学习编程,我从 C 开始。我的 IDE(如果我可以这么说)是 Windows7 上的 cygwin(32 位)和 Visual-Studio 2010。我总是编译我用 gcc (cygw
我喜欢在模板类中使用本地类来执行类似“static if”的构造。但是我遇到了 gcc 4.8 不想编译我的代码的问题。但是 4.7 可以。 这个例子: #include #include #in
我有一个项目,必须仅使用 java 1.4 进行编译。但我计划使用mockito 编写一些单元测试。我想要一种在 pom 中指定的方法,以便 src/main/java 使用 jdk 1.4 编译,但
我想了解 PHP 编译过程是如何工作的。 假设我有一个名为funcs.php 的文件并且这个文件有三个函数,如果我include 或require 它,所有的在文件加载期间编译三个函数?或者源代码会被
编译工具链 我们写程序的时候用的都是集成开发环境 (IDE: Integrated Development Environment),集成开发环境可以极大地方便我们程序员编写程序,但是配置起来
当我编写一些 Scala 代码时,在尝试编译代码时收到一条奇怪的错误消息。我将代码分解为一个更简单的代码(从语义的角度来看这完全没有意义,但仍然显示了错误)。 scala> :paste // Ent
我正在编译一个 SCSS 文件,它似乎删除了我的评论。我可以使用什么命令来保留所有评论? >SASS input.scss output.css 我在 SCSS 中看到两种类型的注释。 // Comm
这是我的代码: #include typedef struct { const char *description; float value; int age; } swag
当您编译 grails war 时,我知道 .groovy 代码被编译为字节码类文件,但我不明白容器(例如 tomcat)如何在请求 GSP 时知道如何编译它们。容器了解 GSP 吗?安装在服务器上的
我正在努力将多个文件编译成一个通用程序。我收到一个错误: undefined reference to 'pi' 这是我的代码和 Makefile 的框架。我做错了什么?谢谢! 文件:calcPi.c
我尝试使用 LD_PRELOAD 来 Hook sprintf function ,所以我将打印到缓冲区的结果: #define _GNU_SOURCE #include #include int
我正在寻找最简单的方法来自动将 CoffeeScript 重新编译为 JS。 阅读documentation但仍然很难得到我想要的东西。 我需要它来监视文件夹 src/ 中的任何 *.coffee 文
我想使用定制waveformjs 。我发现this on SO但是,我不知道如何编译/安装波形来开始。我从 GitHub 克隆它并进行了更改,但是我不知道如何将其转换为 .js 文件。 最佳答案 为了
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我是一名优秀的程序员,十分优秀!