プロジェクトを Xcode から Linux に移行しようとしています (現時点では Ubuntu x86 ですが、静的にリンクされた実行可能ファイルが x86 CentOS マシンで実行されることを願っています)。プロジェクト全体をコンパイルしましたが、リンク段階で失敗しました。IPP で定義されたすべての関数に対して未定義の参照が与えられています。これはおそらく本当に小さくてばかげたものですが、私はこれについて数日間頭を悩ませてきましたが、動作させることができません.
コンパイル ステートメントは次のとおりです (同じエラーを生成するメイクファイルもあります)。
g++ -static /opt/intel/ipp/6.0.1.071/ia32/lib/libippiemerged.a /opt/intel/ipp/6.0.1.071/ia32/lib/libippimerged.a /opt/intel/ipp/6.0.1.071/ ia32/lib/libippsemerged.a /opt/intel/ipp/6.0.1.071/ia32/lib/libippsmerged.a /opt/intel/ipp/6.0.1.071/ia32/lib/libippcore.a -pthread -I /opt/ intel/ipp/6.0.1.071/ia32/include -I tools/include -o main main.cpp pick_peak.cpp get_starting_segments.cpp get_segment_timing_differences.cpp recast_and_normalize_wave_file.cpp rhythm_score.cpp pitch_score.cpp pitch_curve.cpp tools/source/LocalBuffer.cpp tools/source/wave.cpp distance.cpp
...そして、ここにリンカーエラーの長いリストの最初があります:
./main.o: In function `main':
main.cpp:(.text+0x13f): undefined reference to `ippsMalloc_16s'
main.cpp:(.text+0x166): undefined reference to `ippsMalloc_32f'
main.cpp:(.text+0x213): undefined reference to `ippsMalloc_16s'
何か案は?FWIW、これらは問題なくビルド、リンク、および実行される私の Xcode プロジェクトの IPP 依存関係です:
ありがとう!