簡體   English   中英

“Hello World”+ JS V8 + VS2010

[英]“Hello World” + JS V8 + VS2010

我下載並構建了JS V8,以便在發布模式下在VS2010中使用。 現在我嘗試運行Hello World示例

#include "v8.h"

int _tmain(int argc, _TCHAR* argv[])
{
    v8::HandleScope handle_scope;

    v8::Persistent<v8::Context> context = v8::Context::New();

    v8::Context::Scope context_scope(context);

    v8::Handle<v8::String> source = v8::String::New("'Hello' + ', World'");

    v8::Handle<v8::Script> script = v8::Script::Compile(source);

    v8::Handle<v8::Value> result = script->Run();

    context.Dispose();

    v8::String::AsciiValue ascii (result);

    printf ("%s\n", *ascii);

    return 0;
}

我添加了附加依賴項:

"C:\v8\build\Release\lib\preparser_lib.lib"
"C:\v8\build\Release\lib\v8_base.lib"

當我嘗試編譯並運行該程序時,遇到了鏈接錯誤:

1>------ Build started: Project: V8_example, Configuration: Release Win32 ------
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>v8_base.lib(platform-win32.obj) : error LNK2001: unresolved external symbol __imp__inet_addr@4
...
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

當我設置“忽略所有默認庫:是(/ NODEFAULTLIB)”時,出現以下錯誤:

1>------ Build started: Project: V8_example, Configuration: Release Win32 ------
1>v8_base.lib(strtod.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
1>v8_base.lib(full-codegen-ia32.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
...
1>c:\users\admin\documents\visual studio 2010\Projects\V8_example\Release\V8_example.exe : fatal error LNK1120: 141 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

有沒有人試圖運行這個例子或知道如何解決這些錯誤?

該錯誤是由缺少的符號__imp__inet_addr@4引起的,該符號位於Ws2_32.lib

轉到項目屬性 - >鏈接器 - >輸入 - >其他依賴項。 只需添加Ws2_32.lib

我必須包含以下庫: v8_base.lib;v8_snapshot.lib;ws2_32.lib;winmm.lib

不要定義/NODEFAULTLIB:LIBCMT這導致我的構建失敗。

如果你對我如何發現感到好奇,我會查看由GYP生成的ALL.sln並檢查shell目標。 它是一個可執行文件,必須在某些時候與v8_base鏈接,因此它具有所需的鏈接器選項。 然而,它有點難以找到。

怎么樣/NODEFAULTLIB:LIBCMT ,只排除這個單獨的庫? 另外我相信您需要鏈接v8_snapshot.lib或v8_nosnapshot.lib,或者您構建共享庫並鏈接到v8.lib

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM