Con successo compiled spidermonkey (su Windows), come posso collegarlo ora (allo embed it)?Collegamento di un programma C++ con SpiderMonkey?
js-config non è installato correttamente, e non capisco this workaround.
Il collegamento alla libreria statica dovrebbe essere più semplice, ma non so nemmeno quale file sia. Ho mozglue.lib, mozjs-43a1.lib, nspr4.lib, plc4.lib, plds4.lib
in dist/sdk/lib
e nspr4.lib, plc4.lib, plds4.lib
in dist/lib
.
Aggiornamento
js-config
non funzionava perché ho avuto this problem (-bash: '\r': command not found
perché Windows/Unix problema caratteri di nuova riga, mi sono imbattuto dos2unix js-config
e ho potuto eseguirlo).
Tuttavia, l'output non aiuta (su Windows):
$ ./js-config --cflags -std=gnu++0x -include /usr/local/include/mozjs-43a1/js/RequiredDefines.h -I/usr/local/include/mozjs-43a1 -Ic:/Users/Yvain/Documents/mozilla-central/js/src/build_OPT.OBJ/dist/include/nspr
$ ./js-config --libs ${libdir}/${JS_LIBRARY_NAME}.lib c:/Users/Yvain/Documents/mozilla-central/js/src/build_OPT.OBJ/dist/lib/nspr4.lib c:/Users/Yvain/Documents/mozilla-central/js/src/build_OPT.OBJ/dist/lib/plc4.lib c:/Users/Yvain/Documents/mozilla-central/js/src/build_OPT.OBJ/dist/lib/plds4.lib kernel32.lib user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib psapi.lib
Note
ho usato il seguente comando per compilare:
g++ -std=c++11 -I<objdir>/dist/include -L<objdir>/dist/lib helloworld.cpp -o helloworld -lmozjs-31 -lz -lpthread -ldl
So che non è il modo corretto di compilarlo poiché quelle librerie non sono in <objdir>/dist/lib
. Esso restituisce i seguenti errori:
[...]/jscpucfg.h:121:3: erreur:
#error "Cannot determine endianness of your platform. Please add support to jscpucfg.h."
[...]
erreur: ‘JS_EvaluateScript’ was not declared in this scope
Questa domanda sembra trarre una certa attenzione. Si noti che ho chiesto allo same question for V8.
Potete fornire la vostra fonte su un git o qualcos'altro? Aiuta a impostare il manuale di endianess con '-mbig-endian' o' -mlittle-endian' – Alex44
È necessario definire l'architettura di Windows e il processore di destinazione. L'aggiunta di -D_WIN64 e -D_M_X64 come opzioni del compilatore dovrebbe aiutare. – Vink
Probabilmente, il mio problema è che non so a quale .lib dovrei collegarmi. –