c++ - Installing twitcurl on OS X -
i attempting install twitcurl on os x , have met problems.
at first, running make
return clang error: ld: unknown option: -soname
. looked through responses other users similar problems on os x , found following advice:
in makefile, change:
ldflags += -wl,-rpath-link=$(staging_dir)/usr/lib
to:
ldflags += -rpath=$(staging_dir)/usr/lib
change:
$(cc) -shared -wl,-soname,lib$(libname).so.1 $(ldflags) -o lib$(libname).so.1.0 .o -l$(library_dir) -lcurl
to:
$(cc) -dynamiclib -shared -wl,-install_name,lib$(libname).dylib.1 $(ldflags) -o lib$(libname).dylib .o -l$(library_dir) -lcurl
i tried this, result clang error: clang: error: unknown argument: '-rpath=/usr/lib'
any advice towards installing twitcurl on os x system appreciated.
----update----
i wanted put in 1 place steps took make work, in case os x users similar problems come across in future. andy piper crucial pieces.
open makefile , replace:
ldflags += -wl,-rpath-link=$(staging_dir)/usr/lib
with:
ldflags += -rpath $(staging_dir)/usr/lib
and:
$(cc) -shared -wl,-soname,lib$(libname).so.1 $(ldflags) -o lib$(libname).so.1.0 .o -l$(library_dir) -lcurl
with:
$(cc) -dynamiclib -shared -wl,-install_name,lib$(libname).dylib.1 $(ldflags) -o lib$(libname).dylib *.o -l$(library_dir) -lcurl
(note different 2 characters advice os x user gave above)
after running make, copy libtwitcurl.dylib
/usr/lib/
downloading twitterclient (which code example find) same, compiling or own programs need link -lcurl
well. (g++ appname.cpp -ltwitcurl -lcurl
)
finally, once compile program, path name incorrect in executable created. use install_name_tool correct it. me looks like:
install_name_tool -change libtwitcurl.dylib.1 /usr/lib/libtwitcurl.dylib nameofexecutable
but if doesn't work you, use otool find actual path:
otool -l nameofexecutable
and first argument after -change should erroneous path libtwitcurl. can use otool again after running install_name_tool sure change successful.
i can shared / dynamic library compile needed make couple of adjustments makefile:
ldflags += -rpath $(staging_dir)/usr/lib
and
$(cc) -dynamiclib -shared -wl,-install_name,lib$(libname).dylib.1 $(ldflags) -o lib$(libname).dylib *.o -l$(library_dir) -lcurl
i've built associated twitterclient utility. so, had symbolically link libtwitcurl.dylib libtwitcurl.dylib.1 , change consumer key , secret in code match valid 1 apps.twitter.com on account. works fine.
i assume want use twitcurl library code? twitter maintains ruby-based utility, twurl, has similar function , may useful.
Comments
Post a Comment