【发布时间】:2009-02-03 18:59:48
【问题描述】:
我一直在尝试将项目从 Xcode 迁移到 Linux(目前是 Ubuntu x86,但希望静态链接的可执行文件可以在 x86 CentOS 机器上运行?我希望如此?)。我已经编译了整个项目,但它在链接阶段失败了——它为 IPP 定义的所有函数提供了未定义的引用。这可能是一件非常小而愚蠢的事情,但我已经为此绞尽脑汁好几天了,但我无法让它发挥作用。
这是编译语句(我也有一个生成相同错误的生成文件):
g++ -静态 /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 工具/包括 -o main main.cpp pick_peak.cpp get_starting_segments.cpp get_segment_timing_differences.cpp recast_and_normalize_wave_file.cpp 节奏分数.cpp 音高分数.cpp pitch_curve.cpp 工具/源/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 依赖项,可以毫无问题地构建、链接和运行:“-lippiemerged”, “-lippimerged”, “-lippsemerged”, “-lippsmerged”, “-lippcore”,
谢谢!
【问题讨论】:
标签: c++ linux linker g++ intel-ipp