2011-11-07 134 views
0

我想在Mac OS X 10.7.2上构建libjingle。我只是克服了编译器错误,并且现在遇到链接器错误。路径/Developer/libjingle/libjingle-0.6.3/talk/build/dbg/lib存在但系统说未知。我怎样才能修复它并使libjingle真正起作用?在Mac OS X上构建libjingle时出现链接错误10.7.2

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. 

回答

0

我发布到您的其他question修补程序也修复此问题。在用于libjingle的SCons构建文件中,他们删除了Linux构建的默认RPATH。我根本不知道SCons,所以我不确定它是如何在那里开始的。我注意到linux构建删除了默认,所以我删除了它的OS X版本,这似乎工作。尽管ld for OS X假设需要一个rpath参数,但我认为rpath和实际路径之间没有等号。所以这就是为什么它可能失败,但是你根本不需要设置它。但是,我还没有运行单元测试,知道是否删除rpath参数会导致运行时问题。至少它现在编译。

0

在main.scons添加此代码如下:

# Remove default rpath set by Hammer. Hammer sets it to LIB_DIR, which is wrong. 
mac_env.Replace(
    RPATH = [], 
) 

感谢。 凯恩。

+1

这已经出现在我的main.scons中,仍然出现相同的错误。 – chris838

相关问题