tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
786
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.359
    Blog-Einträge
    4
    Guten Abend

    Ich habe mir soeben V8 (Revision 10346) mit MinGW (bzw. GCC) kompiliert.

    Jetzt wollte ich das Beispielprogramm testen:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    
    #include "../v8gcc/include/v8.h"
     
    using namespace v8;
     
    int main(int argc, char* argv[]) {
     
      // Create a stack-allocated handle scope.
      HandleScope handle_scope;
     
      // Create a new context.
      Persistent<Context> context = Context::New();
      
      // Enter the created context for compiling and
      // running the hello world script. 
      Context::Scope context_scope(context);
     
      // Create a string containing the JavaScript source code.
      Handle<String> source = String::New("'Hello' + ', World!'");
     
      // Compile the source code.
      Handle<Script> script = Script::Compile(source);
      
      // Run the script to get the result.
      Handle<Value> result = script->Run();
      
      // Dispose the persistent context.
      context.Dispose();
     
      // Convert the result to an ASCII string and print it.
      String::AsciiValue ascii(result);
      printf("%s\n", *ascii);
      return 0;
    }
    Natürlich binde ich auch die beiden Bibliotheken libv8preparser.a und libv8.a ein.
    Trotzdem bekomme ich diese Linker-Fehler:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    obj\Windows Debug\main.o||In function `main':|
    C:\Programming\BlubTest\main.cpp|8|undefined reference to `v8::HandleScope::HandleScope()'|
    C:\Programming\BlubTest\main.cpp|11|undefined reference to `v8::Context::New(v8::ExtensionConfiguration*, v8::Handle<v8::ObjectTemplate>, v8::Handle<v8::Value>)'|
    C:\Programming\BlubTest\main.cpp|18|undefined reference to `v8::String::New(char const*, int)'|
    C:\Programming\BlubTest\main.cpp|21|undefined reference to `v8::Script::Compile(v8::Handle<v8::String>, v8::ScriptOrigin*, v8::ScriptData*, v8::Handle<v8::String>)'|
    C:\Programming\BlubTest\main.cpp|24|undefined reference to `v8::Script::Run()'|
    C:\Programming\BlubTest\main.cpp|30|undefined reference to `v8::String::AsciiValue::AsciiValue(v8::Handle<v8::Value>)'|
    C:\Programming\BlubTest\main.cpp|32|undefined reference to `v8::String::AsciiValue::~AsciiValue()'|
    C:\Programming\BlubTest\main.cpp|32|undefined reference to `v8::HandleScope::~HandleScope()'|
    C:\Programming\BlubTest\main.cpp|32|undefined reference to `v8::HandleScope::~HandleScope()'|
    obj\Windows Debug\main.o||In function `Scope':|
    C:\Programming\BlubTest\..\v8gcc\include\v8.h|3522|undefined reference to `v8::Context::Enter()'|
    obj\Windows Debug\main.o||In function `~Scope':|
    C:\Programming\BlubTest\..\v8gcc\include\v8.h|3524|undefined reference to `v8::Context::Exit()'|
    obj\Windows Debug\main.o:C:\Programming\BlubTest\..\v8gcc\include\v8.h|3922|undefined reference to `v8::V8::DisposeGlobal(v8::internal::Object**)'|
    ||=== Build finished: 12 errors, 0 warnings ===|

    IDE ist Code::Blocks, Betriebssystem Windows Vista 32-bit.

    Any ideas?
    Vielen Dank im Voraus!
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  2. #2
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.359
    Blog-Einträge
    4
    Okay, ich habe es mit folgendem Befehl hinbekommen:
    Code :
    1
    2
    
    C:\Programming\BlubTest>g++ -I ../v8gcc/include main.cpp -L ../v8gcc -o main -l v8 -l ws
    2_32 -l winmm

    Jetzt fragt sich noch, wie ich das in Code::Blocks automatisch so hinbekomme.
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  3. #3
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.
    Zitat Zitat von ComFreek Beitrag anzeigen
    Okay, ich habe es mit folgendem Befehl hinbekommen:
    Code :
    1
    2
    
    C:\Programming\BlubTest>g++ -I ../v8gcc/include main.cpp -L ../v8gcc -o main -l v8 -l ws
    2_32 -l winmm

    Jetzt fragt sich noch, wie ich das in Code::Blocks automatisch so hinbekomme.
    ../v8gcc/include main.cpp als zusätzliches Include Verzeichnis einstellen (besser absolute Pfade verwenden, sonst stimmt es nicht wenn der Compiler nicht im gleichen Pfad wie main.cpp gestartet wird).

    ../v8gcc als zusätzl. Lib Verzeichnis einstellen.

    v8 als zusätzl. Bibliothek hinzufügen.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  4. #4
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.359
    Blog-Einträge
    4
    Danke, jetzt hat es funktioniert!


    Für Suchende:
    Bei Project->Build options... rechts im Tab Linker Settings mittels Add-Button folgende Bibliotheken hinzufügen:
    • libv8.a
    • libws2_32.a (ohne Pfadangabe)
    • libwinmm.a (ohne Pfadangabe)
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

Ähnliche Themen

  1. Mysql++ Linker Fehler
    Von Sapd im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 02.06.10, 09:23
  2. Linker Fehler GetModuleFileNameExA@16
    Von Ava-chan im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 19.03.10, 13:28
  3. Beispielprogramm
    Von KrisKul im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 14
    Letzter Beitrag: 07.07.08, 08:47
  4. Linker Fehler... hurra
    Von NotThatJenny im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 03.02.08, 14:35
  5. [Linker Fehler] Unresolved external
    Von Supa im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 07.07.05, 12:23

Stichworte