我想在Mac 10.7.2上构建libjingle。我刚刚克服了编译器错误,现在遇到了链接器错误。路径/Developer/libjingle/libjingle-0.6.3/talk/build/dbg/lib存在,但系统显示未知。我如何修复它并使libjingle真正工作?
MBP17:talk rei25$ /Developer/swtoolkit/hammer.sh
scons: Reading SConscript files ...
scons: warning: The build_dir keyword has been deprecated; use the variant_dir keyword instead.
File "/Developer/swtoolkit/site_scons/site_init.py", line 203, in BuildEnvironmentSConscripts
scons: done reading SConscript files.
scons: Building targets ...
scons: `all_libraries' is up to date.
________Linking build/dbg/obj/login
ld: unknown option: -rpath=/Developer/libjingle/libjingle-0.6.3/talk/build/dbg/lib
collect2: ld returned 1 exit status
scons: *** [build/dbg/obj/login] Error 1
scons: building terminated because of errors.发布于 2011-11-26 08:18:33
我发布到你的其他question的补丁也解决了这个问题。在libjingle的SCons构建文件中,他们删除了linux构建的默认RPATH。我根本不了解SCons,所以我不确定它是如何进入其中的。我注意到linux版本删除了默认值,所以我在OS X版本中删除了它,这似乎是有效的。尽管OS上的ld应该使用rpath参数,但我认为rpath和实际路径之间不应该有等号。这就是它可能会失败的原因,但是你根本不需要设置它。但是,我还没有运行单元测试来了解删除rpath参数是否会导致运行时问题。至少它现在可以编译了。
发布于 2012-04-06 10:53:53
将此代码添加到main.scons中,如下所示:
# Remove default rpath set by Hammer. Hammer sets it to LIB_DIR, which is wrong.
mac_env.Replace(
RPATH = [],
) 谢谢。凯恩。
https://stackoverflow.com/questions/8039343
复制相似问题