Ошибка компоновщика при компиляции программы, которая использует spidermonkey

Я пытался выучить spidermonkey и поэтому написал следующий код, адаптированный из это руководство и пока программа компилируется правильно, я получаю следующую ошибку при компоновке:

/usr/bin/ld: cannot open linker script file symverscript: No such file or directory

Я использую 64-битную Ubuntu 13.10, и вот код (кажется, не имеет отношения к проблеме, но не может повредить)

#include <jsapi.h>
#include <iostream>
#include <string>

int main()
{
std::string script = "var x = 10;x*x;";
jsval rval;
JSRuntime* runtime = 0;
JSContext* context = 0;
JSObject* globalob = 0;
if((!(runtime = JS_NewRuntime(1024L*1024L, JS_NO_HELPER_THREADS)))||
(!(context = JS_NewContext(runtime, 8192)))||
(!(globalob  = JS_NewObject(context, NULL, NULL, NULL))))
{
return 1;
}
if(!JS_InitStandardClasses(context, globalob))
{
return 1;
}
if(!JS_EvaluateScript(context,globalob,script.data(),script.length(),"script",1,&rval))
{
return 1;
}
std::cout << JSVAL_TO_INT(rval) << "\n";
JS_DestroyContext(context);
JS_DestroyRuntime(runtime);
JS_ShutDown();
return 0;
}

скомпилировано с командой

g++ main.cpp -o out $(js24-config --cflags --libs | tr "\n" " ")

0

Решение

Попробуйте вместо этого написать эту команду,
g ++ main.cpp -o main -I / usr / local / include / js / -L / usr / local / lib / -lmozjs1.8.5

Что касается пути, который я написал выше, вы должны написать свой собственный путь, который включает библиотеку и файл JSAPI.h, включенный в,
И последний термин — библиотека spidermonkey, вы найдете ее в папке lib, для меня она существует в / usr / local / lib

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]