Y
Yurii Cherkasov
Guest
I'm compiling a huge open-source project (Actually Virtualbox 6.0.4 Open Source Edition)
https://www.virtualbox.org/browser/vbox/trunk
and getting stuck with the following error (formatted for readability):
C:/MSVS/10.0/VC/bin/link.exe’
-nologo’
-machine:x86
-Ignore:4197
-Driver
-Subsystem:NATIVE
-Incremental:NO
-Align:4096
-MapInfo:Exports
-NoD
-Release
-Debug
-Opt:Ref
-Opt:Icf
-Version:600.4
-Stub:winstub.com'
-IntegrityCheck
/EntryriverEntry@8
/OUT:VBoxWddm.sys
/MAPINFO:EXPORTS
/INCREMENTAL:NO
/MAP:VBoxWddm.map
/LIBPATH:C:/WinDDK/7600.16385.1/lib/wlh/i386 /LIBPATH:C:/WinDDK/8.1.1/Lib/win8/km/x86
@VBoxWddm.rsp
Creating library VBoxWddm.lib and object VBoxWddm.exp
BufferOverflowK.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_fids_table
BufferOverflowK.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_fids_count
BufferOverflowK.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_flags
VBoxWddm.sys : fatal error LNK1120: 3 unresolved externals
__guard_fids_table is a part of Microsoft anti-malware Control Flow Guard API, introduced in Windows 8.1. As far as I know, it requires Visual C++ version 14.0 (which is MSVS 2015 Update 3), however, it's still lack of official documentation of this API, so I'm not 100% sure.
Also, there's literally no official documentation how to build Virtualbox 6.*, so there I'm also not sure, is that a bug of their build system, or some additional configuration required, or different build toolchain required.
Visual C++ 2010 is still officially supported compiler for Virtualbox OSE project, because of massive backward compatibility of COM interfaces, all my attempts to migrate at least to 2013 failed. I suspect that VC++ 10.0 is a wrong compiler for this piece of project, but it's again just a guess. I'll appreciate any directions of further investigating how to solve the problem
Continue reading...
https://www.virtualbox.org/browser/vbox/trunk
and getting stuck with the following error (formatted for readability):
C:/MSVS/10.0/VC/bin/link.exe’
-nologo’
-machine:x86
-Ignore:4197
-Driver
-Subsystem:NATIVE
-Incremental:NO
-Align:4096
-MapInfo:Exports
-NoD
-Release
-Debug
-Opt:Ref
-Opt:Icf
-Version:600.4
-Stub:winstub.com'
-IntegrityCheck
/EntryriverEntry@8
/OUT:VBoxWddm.sys
/MAPINFO:EXPORTS
/INCREMENTAL:NO
/MAP:VBoxWddm.map
/LIBPATH:C:/WinDDK/7600.16385.1/lib/wlh/i386 /LIBPATH:C:/WinDDK/8.1.1/Lib/win8/km/x86
@VBoxWddm.rsp
Creating library VBoxWddm.lib and object VBoxWddm.exp
BufferOverflowK.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_fids_table
BufferOverflowK.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_fids_count
BufferOverflowK.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_flags
VBoxWddm.sys : fatal error LNK1120: 3 unresolved externals
__guard_fids_table is a part of Microsoft anti-malware Control Flow Guard API, introduced in Windows 8.1. As far as I know, it requires Visual C++ version 14.0 (which is MSVS 2015 Update 3), however, it's still lack of official documentation of this API, so I'm not 100% sure.
Also, there's literally no official documentation how to build Virtualbox 6.*, so there I'm also not sure, is that a bug of their build system, or some additional configuration required, or different build toolchain required.
Visual C++ 2010 is still officially supported compiler for Virtualbox OSE project, because of massive backward compatibility of COM interfaces, all my attempts to migrate at least to 2013 failed. I suspect that VC++ 10.0 is a wrong compiler for this piece of project, but it's again just a guess. I'll appreciate any directions of further investigating how to solve the problem
Continue reading...