|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Feb 2011
Messaggi: 1
|
C++ Problemi di linking - Linux Ubuntu
Ciao a tutti, per un progetto universitario sto modificando firefox per salvare su di un database delle stringhe javascript. Per collegarmi al database ho scaricato una libreria, ho eseguito il comando make install (quindi ho le librerie libhiredis.so e .a in /usr/local/lib e il file hiredis.h in /usr/local/include). All'interno della classe che ho modificato ho aggiunto #include "hiredis.h" ma quando lancio la compilazione mi appare questo errore:
jsinvoke.cpp c++ -o jsinvoke.o -c -I./../../dist/include/system_wrappers_js -include /home/manuel/Scrivania/mozilla-1.9.1/js/src/config/gcc_hidden.h -DFEATURE_NANOJIT -DJS_TRACER -DOSTYPE=\"Linux2.6\" -DOSARCH=Linux -DEXPORT_JS_API -DJS_USE_SAFE_ARENA -I/home/manuel/Scrivania/mozilla-1.9.1/js/src -I. -I./../../dist/include -I./../../dist/include/js -I/home/manuel/Scrivania/mozilla-1.9.1/objdir-ff-release/dist/include/nspr -I/sdk/include -I/home/manuel/Scrivania/mozilla-1.9.1/js/src -fPIC -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -lhiredis -Wno-invalid-offsetof -Wno-long-long -pedantic -fno-strict-aliasing -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -Os -fstrict-aliasing -DMOZILLA_CLIENT -include ./mozilla-config.h -Wp,-MD,.deps/jsinvoke.pp /home/manuel/Scrivania/mozilla-1.9.1/js/src/jsinvoke.cpp In file included from /home/manuel/Scrivania/mozilla-1.9.1/js/src/jsbuiltins.h:45, from /home/manuel/Scrivania/mozilla-1.9.1/js/src/jstracer.h:53, from /home/manuel/Scrivania/mozilla-1.9.1/js/src/jsinterp.cpp:74, from /home/manuel/Scrivania/mozilla-1.9.1/js/src/jsinvoke.cpp:42: /home/manuel/Scrivania/mozilla-1.9.1/js/src/nanojit/nanojit.h:151:30: warning: anonymous variadic macros were introduced in C99 /home/manuel/Scrivania/mozilla-1.9.1/js/src/nanojit/nanojit.h:198:23: warning: anonymous variadic macros were introduced in C99 In file included from /home/manuel/Scrivania/mozilla-1.9.1/js/src/nanojit/nanojit.h:245, from /home/manuel/Scrivania/mozilla-1.9.1/js/src/jsbuiltins.h:45, from /home/manuel/Scrivania/mozilla-1.9.1/js/src/jstracer.h:53, from /home/manuel/Scrivania/mozilla-1.9.1/js/src/jsinterp.cpp:74, from /home/manuel/Scrivania/mozilla-1.9.1/js/src/jsinvoke.cpp:42: /home/manuel/Scrivania/mozilla-1.9.1/js/src/nanojit/Native.h:122:22: warning: anonymous variadic macros were introduced in C99 rm -f libmozjs.so c++ -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -lhiredis -Wno-invalid-offsetof -Wno-long-long -pedantic -fno-strict-aliasing -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -Os -fstrict-aliasing -fPIC -shared -Wl,-z,defs -Wl,-h,libmozjs.so -o libmozjs.so jsapi.o jsarena.o jsarray.o jsatom.o jsbool.o jscntxt.o jsdate.o jsdbgapi.o jsdhash.o jsdtoa.o jsemit.o jsexn.o jsfun.o jsgc.o jshash.o jsinterp.o jsinvoke.o jsiter.o jslock.o jslog2.o jsmath.o jsnum.o jsobj.o json.o jsopcode.o jsparse.o jsprf.o jsregexp.o jsscan.o jsscope.o jsscript.o jsstr.o jsutil.o jsxdrapi.o jsxml.o prmjtime.o jstracer.o Assembler.o Fragmento.o LIR.o RegAlloc.o avmplus.o Nativei386.o jsbuiltins.o -lpthread -Wl,-rpath-link,/bin -Wl,-rpath-link,/lib -L/home/manuel/Scrivania/mozilla-1.9.1/objdir-ff-release/dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl -ldl -lm -lm -ldl -lhiredis jsinterp.o: In function `js_Interpret': jsinterp.cpp: (.text+0x8ce5): undefined reference to `redisConnect' jsinterp.cpp: (.text+0x8d0d): undefined reference to `redisCommand' /usr/bin/ld.bfd.real: libmozjs.so: hidden symbol `redisConnect' isn't defined /usr/bin/ld.bfd.real: final link failed: Nonrepresentable section on output collect2: ld returned 1 exit status make[4]: *** [libmozjs.so] Errore 1 make[4]: uscita dalla directory «/home/manuel/Scrivania/mozilla-1.9.1/objdir-ff-release/js/src» make[3]: *** [libs_tier_js] Errore 2 make[3]: uscita dalla directory «/home/manuel/Scrivania/mozilla-1.9.1/objdir-ff-release» make[2]: *** [tier_js] Errore 2 make[2]: uscita dalla directory «/home/manuel/Scrivania/mozilla-1.9.1/objdir-ff-release» make[1]: *** [default] Errore 2 make[1]: uscita dalla directory «/home/manuel/Scrivania/mozilla-1.9.1/objdir-ff-release» make: *** [build] Errore 2 Come potete vedere ho anche trovato all'interno dei 1000 makefile di firefox il posto in cui inserire -lhiredis. Il problema è che la classe che non riesce a compilare non è quella che ho modificato ma un'altra che usa la classe che ho modificato (la mia classe è jsinterp.cpp mentre il compilatore non riesce a compilare jsinvoke.cpp). Quale potrebbe essere il problema? |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:33.



















