c++ - 在 Release模式下链接到 V8 不起作用

标签 c++ visual-studio-2005 v8

我在 Visual Studio 2005 上以 Release模式构建了 v8 库,将生成的 .lib 文件(在 Release模式下)放入其中,并针对它们编译了我的项目。

虽然在 Debug模式下一切正常(正确编译和运行),但在 Release模式下我收到以下链接错误(就好像 lib 文件不存在一样)。

error LNK2001: unresolved external symbol "public: class v8::Local<class v8::Boolean> __thiscall v8::Value::ToBoolean(void)const " (?ToBoolean@Value@v8@@QBE?AV?$Local@VBoolean@v8@@@2@XZ)
error LNK2001: unresolved external symbol "public: bool __thiscall v8::Value::IsInt32(void)const " (?IsInt32@Value@v8@@QBE_NXZ)
error LNK2001: unresolved external symbol "public: bool __thiscall v8::Value::IsNumber(void)const " (?IsNumber@Value@v8@@QBE_NXZ)
error LNK2001: unresolved external symbol "public: bool __thiscall v8::Value::IsBoolean(void)const " (?IsBoolean@Value@v8@@QBE_NXZ)
error LNK2001: unresolved external symbol "public: bool __thiscall v8::Value::IsObject(void)const " (?IsObject@Value@v8@@QBE_NXZ)
error LNK2001: unresolved external symbol "public: bool __thiscall v8::Value::IsArray(void)const " (?IsArray@Value@v8@@QBE_NXZ)
error LNK2001: unresolved external symbol "public: bool __thiscall v8::Value::IsFunction(void)const " (?IsFunction@Value@v8@@QBE_NXZ)
error LNK2001: unresolved external symbol "public: bool __thiscall v8::Value::IsNull(void)const " (?IsNull@Value@v8@@QBE_NXZ)

我的链接器属性具有以下附加依赖项。

msvcrt.lib ntstc_msvcrt.lib Psapi.lib winmm.lib Ws2_32.lib $(SolutionDir)\external_libs\release\v8.lib

我的 $(SolutionDir)\external_libs\release 文件夹包含以下文件:

v8.lib, v8_base.lib, v8_snapshot.lib

如有任何帮助,我们将不胜感激。

最佳答案

在 Visual Studio 中,debugrelease 构建的构建选项是分开的。您可能为 Debug模式正确设置了所有内容,但没有为 Release模式正确设置,因此会出现错误。

我忘记了 VS2005 中的具体布局,但在 VS2008 中,解决方案属性对话框顶部有一个组合框,可让您在调试/发布/所有配置之间进行选择。

换句话说,您必须在 Release模式下将其他依赖项添加到链接器属性部分。或者,将来进行所有更改时,将配置设置为所有配置

关于c++ - 在 Release模式下链接到 V8 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6149633/

相关文章:

c++ - 通过引用时模板扩展失败?

java - 在 Posix 中将 Shell 上下文变量传递给编译语言 (Java/C/C++)

asp.net - 在 VS 2005 中启动调试时 w3wp 崩溃

c# - 我的 CSS Body 样式不适用于登录页面

javascript - V8如何处理 "large object space"中的对象

c++ - 具有嵌套结构/类的 POD 性

C++ 父类(super class)数组还访问子类方法?

c# - 停止 Visual Studio 2005 添加对 System.Data 和 System.XML 的引用

javascript - 是什么使得预解析函数比完整解析更快?

javascript - Chrome 的 V8 标记功能反复优化直到放弃