Okay, also habe ich den Quellcode von SpiderMonkey mit dem Befehl wget http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz
heruntergeladen und extrahiert. Dann habe ich erfolgreich die Include-Dateien und die statische Bibliothek erstellt, indem ich folgende Befehle ausgeführt habe:
autoconf2.13
./configure --prefix=~/js --disable-shared-js
make
make install
Nun habe ich versucht, den folgenden Code mit dem Befehl g++ -I/home/aaditmshah/js/include/js -L/home/aaditmshah/js/lib -lmozjs185-1.0 -ldl -lm -ldl helloworld.cpp -o helloworld
:
Ich weiß, dass meine Optionen include
und linker
auf die richtigen Verzeichnisse zeigen. Die Include-Dateien sind in /home/aaditmshah/js/include/js
und die statische Bibliothek libmozjs185-1.0
in /home/aaditmshah/js/lib
. Es erzeugt jedoch weiterhin den folgenden Fehler:
Ich frage mich, welche Dateien ich vermisse. Soll ich SpiderMonkey neu erstellen und in /usr/local
installieren? Jede Hilfe wird sehr geschätzt.
Ich bin mir ziemlich sicher, dass das Problem nicht darin besteht, dass ich eine statische Bibliothek verwende. Ich habe SpiderMonkey als Bibliothek für gemeinsam genutzte Objekte neu erstellt und es gab immer noch den gleichen Fehler.
Sie können dies versuchen:
%Vor%ie. füge das Archiv direkt in die g ++ - Befehlszeile ein. Möglicherweise müssen Sie einige Kombinationen von diesen angeben, wenn es nicht funktioniert. (Mit gcc 4.2 funktionierte das für mich):
%Vor%Geben Sie einfach den korrekten Pfad für mozjs185-1.0.a an.
Unter Ubuntu 12.10, g ++ Version gcc Version 4.7.2 (Ubuntu / Linaro 4.7.2-2ubuntu1) und SipderMonkey v1.8.5: Der Befehl ist sudo g++ -o helloworld -I /usr/local/include/js helloworld.cpp -lmozjs185-1.0 -L /usr/local/lib -lpthread
Verbringe mehr als die erwartete Zeit damit, etwas so einfaches Seufzen zu tun! Nein danke an FireFox / Mozilla.
Tags und Links javascript c++ header-files spidermonkey static-libraries