C++ 编译包含V8的项目时文件无效或损坏

C++ 编译包含V8的项目时文件无效或损坏,c++,visual-studio,compilation,static-libraries,embedded-v8,C++,Visual Studio,Compilation,Static Libraries,Embedded V8,我刚刚将V8编译为静态库,一切都编译得很好,但是当我尝试将thiese.lib文件包含到我的VS项目中时,它会对没有_compiler.lib的V8_base_说“无效或损坏的库” 我使用的是Windows 10 x64、Visual Studio 2017、最新SDK 我的GN构建配置: is_debug=false 目标_cpu=“x64” 组件构建是否为false v8_static_library=true 如果我需要提供更多信息,请通知我 谢谢大家! #包括“Scripting.h”

我刚刚将V8编译为静态库,一切都编译得很好,但是当我尝试将thiese.lib文件包含到我的VS项目中时,它会对没有_compiler.lib的V8_base_说“无效或损坏的库” 我使用的是Windows 10 x64、Visual Studio 2017、最新SDK

我的GN构建配置:

is_debug=false
目标_cpu=“x64”
组件构建是否为false
v8_static_library=true

如果我需要提供更多信息,请通知我

谢谢大家!

#包括“Scripting.h”
#pragma注释(lib,“不带编译器的v8_base_”)
#pragma注释(lib,“v8_libbase”)
#pragma注释(lib,“v8_外部_快照”)
#pragma注释(lib,“v8_libplatform”)
#pragma注释(lib,“v8_libsampler”)
#pragma注释(lib,“icuuc.lib”)
#pragma注释(lib,“icui18n.lib”)
#pragma注释(lib,“检查员”)
VOID ScriptingJS::RegisterFunction(){
V8::Initialize();
}

lld链接器能够生成小的lib文件,其中包含对对象文件的间接寻址。VS2017不支持该格式


我也遇到了同样的问题,通过在我的args.gn文件中使用
use\u lld=false
解决了它(构建然后使用VS2017链接器)

我的答案对你有帮助吗?不是问题作者,但它确实帮助了我!非常感谢。