Unresolved external symbol __guard_fids_tableWhat is the effect of extern “C” in C++?What is an undefined reference/unresolved external symbol error and how do I fix it?EnumWindows Unresolved ExternalGlew unresolved externals problemsSOCI external symbol unresolved “struct soci::mysql_backend_factory const soci::mysql”CUDA 6.5: error MSB3191 Unable to create directory and LNK2001 Unresolved External symbolUnresolved externals when trying to connect to mysql with C++ in Visual Studio 2013Once again including library and Error LNK2001: unresolved external symbolCompiling OpenCV opencv_world with Qt - unresolved externalsStatic member error LNK2001: unresolved external symbol only on windows and when building a shared library

When were female captains banned from Starfleet?

Redundant comparison & "if" before assignment

How to indicate a cut out for a product window

Which one is correct as adjective “protruding” or “protruded”?

How to implement a feedback to keep the DC gain at zero for this conceptual passive filter?

Aragorn's "guise" in the Orthanc Stone

Does an advisor owe his/her student anything? Will an advisor keep a PhD student only out of pity?

Non-trope happy ending?

How do you make your own symbol when Detexify fails?

Delivering sarcasm

If magnesium reacts with oxygen to produce magnesium oxide only on the application of heat, then why isn't it categorised as an endothermic reaction?

What are the purposes of autoencoders?

Why should universal income be universal?

How can Trident be so inexpensive? Will it orbit Triton or just do a (slow) flyby?

Can I sign legal documents with a smiley face?

How can "mimic phobia" be cured or prevented?

Not using 's' for he/she/it

Count the occurrence of each unique word in the file

What if a revenant (monster) gains fire resistance?

Fear of getting stuck on one programming language / technology that is not used in my country

If a character has darkvision, can they see through an area of nonmagical darkness filled with lightly obscuring gas?

Closed-form expression for certain product

Did Swami Prabhupada reject Advaita?

is this legal and f i dont come up with extra money is the deal off



Unresolved external symbol __guard_fids_table


What is the effect of extern “C” in C++?What is an undefined reference/unresolved external symbol error and how do I fix it?EnumWindows Unresolved ExternalGlew unresolved externals problemsSOCI external symbol unresolved “struct soci::mysql_backend_factory const soci::mysql”CUDA 6.5: error MSB3191 Unable to create directory and LNK2001 Unresolved External symbolUnresolved externals when trying to connect to mysql with C++ in Visual Studio 2013Once again including library and Error LNK2001: unresolved external symbolCompiling OpenCV opencv_world with Qt - unresolved externalsStatic member error LNK2001: unresolved external symbol only on windows and when building a shared library













0















I'm compiling a huge open-source solution (Virtualbox 6.0.4 OSE Windows version actually), and got stuck with the following linking error (provided both command and 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
/Entry:DriverEntry@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


Compiler is VC++ 10.0 (such an outdated compiler required by Oracle for COM interfaces backward compatibility), Windows 7 and 8.1 SDKs are installed.



As I found, __guard_fids_table is a part of Microsoft anti-malware Control Flow Guard API, introduced in Windows 8.1. Some sources tell it requires Visual C++ version 14.0 (which is MSVS 2015 Update 3), however, it's still lack of good documentation of this API, so I'm not 100% sure.



Problem is it could be both bug of the build system (Virtualbox OSE 6 is quite new, and not properly tested), or just some additional configuration required. I need some direction for further investigation, because there's literally no official documentation how to build Oracle Virtualbox 6, and their forum died many years ago.



The main question for that moment, is that even possible to link these objects with VC++ 10.0 or newer compiler required, or maybe just Windows 10 SDK.



Also just great is anyone has experience with compiling Virtualbox 6 already










share|improve this question






















  • You must be trying to link in a library that was compiled on a newer version of the compiler that does support __guard_fids_table. There is otherwise no way for a feature that MSVC 10 does not support to end up in the object file. Make sure that you are doing a complete build of all modules. In particular, per the error message, rebuild BufferOverflowK.lib(loadcfg.obj).

    – Cody Gray
    Mar 8 at 4:42











  • BufferOverflowK sounds like a .LIB from the WDK and not something you can recompile.

    – Anders
    Mar 8 at 7:49











  • Is there any chance that you are mixing lib files from DDK 7 and DDK 8? Maybe try to locate all files in Lib directories of both ddks that contain listed symbol names.

    – Daniel Sęk
    Mar 8 at 8:20











  • __guard_fids_table and etc - this is absolute symbols. the link.exe must understand it. you use old link.exe. your solution - get new build tools from new visual studio or standalone tools and overwrite your MSVS/10.0/VC/bin directory

    – RbMm
    Mar 8 at 8:45











  • Exactly, BufferOverflowK.lib is a part of DDK, and could not be recompiled. VC++ 10.0 is an explicit requirement of a build system. It has been built someway in commercial version of Virtualbox with the old compiler. May be the problem with passing both path to WDK 7 and 8.1, which looks like some bug in Makefile

    – Yuri S. Cherkasov
    Mar 8 at 14:57
















0















I'm compiling a huge open-source solution (Virtualbox 6.0.4 OSE Windows version actually), and got stuck with the following linking error (provided both command and 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
/Entry:DriverEntry@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


Compiler is VC++ 10.0 (such an outdated compiler required by Oracle for COM interfaces backward compatibility), Windows 7 and 8.1 SDKs are installed.



As I found, __guard_fids_table is a part of Microsoft anti-malware Control Flow Guard API, introduced in Windows 8.1. Some sources tell it requires Visual C++ version 14.0 (which is MSVS 2015 Update 3), however, it's still lack of good documentation of this API, so I'm not 100% sure.



Problem is it could be both bug of the build system (Virtualbox OSE 6 is quite new, and not properly tested), or just some additional configuration required. I need some direction for further investigation, because there's literally no official documentation how to build Oracle Virtualbox 6, and their forum died many years ago.



The main question for that moment, is that even possible to link these objects with VC++ 10.0 or newer compiler required, or maybe just Windows 10 SDK.



Also just great is anyone has experience with compiling Virtualbox 6 already










share|improve this question






















  • You must be trying to link in a library that was compiled on a newer version of the compiler that does support __guard_fids_table. There is otherwise no way for a feature that MSVC 10 does not support to end up in the object file. Make sure that you are doing a complete build of all modules. In particular, per the error message, rebuild BufferOverflowK.lib(loadcfg.obj).

    – Cody Gray
    Mar 8 at 4:42











  • BufferOverflowK sounds like a .LIB from the WDK and not something you can recompile.

    – Anders
    Mar 8 at 7:49











  • Is there any chance that you are mixing lib files from DDK 7 and DDK 8? Maybe try to locate all files in Lib directories of both ddks that contain listed symbol names.

    – Daniel Sęk
    Mar 8 at 8:20











  • __guard_fids_table and etc - this is absolute symbols. the link.exe must understand it. you use old link.exe. your solution - get new build tools from new visual studio or standalone tools and overwrite your MSVS/10.0/VC/bin directory

    – RbMm
    Mar 8 at 8:45











  • Exactly, BufferOverflowK.lib is a part of DDK, and could not be recompiled. VC++ 10.0 is an explicit requirement of a build system. It has been built someway in commercial version of Virtualbox with the old compiler. May be the problem with passing both path to WDK 7 and 8.1, which looks like some bug in Makefile

    – Yuri S. Cherkasov
    Mar 8 at 14:57














0












0








0








I'm compiling a huge open-source solution (Virtualbox 6.0.4 OSE Windows version actually), and got stuck with the following linking error (provided both command and 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
/Entry:DriverEntry@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


Compiler is VC++ 10.0 (such an outdated compiler required by Oracle for COM interfaces backward compatibility), Windows 7 and 8.1 SDKs are installed.



As I found, __guard_fids_table is a part of Microsoft anti-malware Control Flow Guard API, introduced in Windows 8.1. Some sources tell it requires Visual C++ version 14.0 (which is MSVS 2015 Update 3), however, it's still lack of good documentation of this API, so I'm not 100% sure.



Problem is it could be both bug of the build system (Virtualbox OSE 6 is quite new, and not properly tested), or just some additional configuration required. I need some direction for further investigation, because there's literally no official documentation how to build Oracle Virtualbox 6, and their forum died many years ago.



The main question for that moment, is that even possible to link these objects with VC++ 10.0 or newer compiler required, or maybe just Windows 10 SDK.



Also just great is anyone has experience with compiling Virtualbox 6 already










share|improve this question














I'm compiling a huge open-source solution (Virtualbox 6.0.4 OSE Windows version actually), and got stuck with the following linking error (provided both command and 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
/Entry:DriverEntry@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


Compiler is VC++ 10.0 (such an outdated compiler required by Oracle for COM interfaces backward compatibility), Windows 7 and 8.1 SDKs are installed.



As I found, __guard_fids_table is a part of Microsoft anti-malware Control Flow Guard API, introduced in Windows 8.1. Some sources tell it requires Visual C++ version 14.0 (which is MSVS 2015 Update 3), however, it's still lack of good documentation of this API, so I'm not 100% sure.



Problem is it could be both bug of the build system (Virtualbox OSE 6 is quite new, and not properly tested), or just some additional configuration required. I need some direction for further investigation, because there's literally no official documentation how to build Oracle Virtualbox 6, and their forum died many years ago.



The main question for that moment, is that even possible to link these objects with VC++ 10.0 or newer compiler required, or maybe just Windows 10 SDK.



Also just great is anyone has experience with compiling Virtualbox 6 already







c++ winapi virtualbox controlflowguard






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 8 at 4:20









Yuri S. CherkasovYuri S. Cherkasov

4581024




4581024












  • You must be trying to link in a library that was compiled on a newer version of the compiler that does support __guard_fids_table. There is otherwise no way for a feature that MSVC 10 does not support to end up in the object file. Make sure that you are doing a complete build of all modules. In particular, per the error message, rebuild BufferOverflowK.lib(loadcfg.obj).

    – Cody Gray
    Mar 8 at 4:42











  • BufferOverflowK sounds like a .LIB from the WDK and not something you can recompile.

    – Anders
    Mar 8 at 7:49











  • Is there any chance that you are mixing lib files from DDK 7 and DDK 8? Maybe try to locate all files in Lib directories of both ddks that contain listed symbol names.

    – Daniel Sęk
    Mar 8 at 8:20











  • __guard_fids_table and etc - this is absolute symbols. the link.exe must understand it. you use old link.exe. your solution - get new build tools from new visual studio or standalone tools and overwrite your MSVS/10.0/VC/bin directory

    – RbMm
    Mar 8 at 8:45











  • Exactly, BufferOverflowK.lib is a part of DDK, and could not be recompiled. VC++ 10.0 is an explicit requirement of a build system. It has been built someway in commercial version of Virtualbox with the old compiler. May be the problem with passing both path to WDK 7 and 8.1, which looks like some bug in Makefile

    – Yuri S. Cherkasov
    Mar 8 at 14:57


















  • You must be trying to link in a library that was compiled on a newer version of the compiler that does support __guard_fids_table. There is otherwise no way for a feature that MSVC 10 does not support to end up in the object file. Make sure that you are doing a complete build of all modules. In particular, per the error message, rebuild BufferOverflowK.lib(loadcfg.obj).

    – Cody Gray
    Mar 8 at 4:42











  • BufferOverflowK sounds like a .LIB from the WDK and not something you can recompile.

    – Anders
    Mar 8 at 7:49











  • Is there any chance that you are mixing lib files from DDK 7 and DDK 8? Maybe try to locate all files in Lib directories of both ddks that contain listed symbol names.

    – Daniel Sęk
    Mar 8 at 8:20











  • __guard_fids_table and etc - this is absolute symbols. the link.exe must understand it. you use old link.exe. your solution - get new build tools from new visual studio or standalone tools and overwrite your MSVS/10.0/VC/bin directory

    – RbMm
    Mar 8 at 8:45











  • Exactly, BufferOverflowK.lib is a part of DDK, and could not be recompiled. VC++ 10.0 is an explicit requirement of a build system. It has been built someway in commercial version of Virtualbox with the old compiler. May be the problem with passing both path to WDK 7 and 8.1, which looks like some bug in Makefile

    – Yuri S. Cherkasov
    Mar 8 at 14:57

















You must be trying to link in a library that was compiled on a newer version of the compiler that does support __guard_fids_table. There is otherwise no way for a feature that MSVC 10 does not support to end up in the object file. Make sure that you are doing a complete build of all modules. In particular, per the error message, rebuild BufferOverflowK.lib(loadcfg.obj).

– Cody Gray
Mar 8 at 4:42





You must be trying to link in a library that was compiled on a newer version of the compiler that does support __guard_fids_table. There is otherwise no way for a feature that MSVC 10 does not support to end up in the object file. Make sure that you are doing a complete build of all modules. In particular, per the error message, rebuild BufferOverflowK.lib(loadcfg.obj).

– Cody Gray
Mar 8 at 4:42













BufferOverflowK sounds like a .LIB from the WDK and not something you can recompile.

– Anders
Mar 8 at 7:49





BufferOverflowK sounds like a .LIB from the WDK and not something you can recompile.

– Anders
Mar 8 at 7:49













Is there any chance that you are mixing lib files from DDK 7 and DDK 8? Maybe try to locate all files in Lib directories of both ddks that contain listed symbol names.

– Daniel Sęk
Mar 8 at 8:20





Is there any chance that you are mixing lib files from DDK 7 and DDK 8? Maybe try to locate all files in Lib directories of both ddks that contain listed symbol names.

– Daniel Sęk
Mar 8 at 8:20













__guard_fids_table and etc - this is absolute symbols. the link.exe must understand it. you use old link.exe. your solution - get new build tools from new visual studio or standalone tools and overwrite your MSVS/10.0/VC/bin directory

– RbMm
Mar 8 at 8:45





__guard_fids_table and etc - this is absolute symbols. the link.exe must understand it. you use old link.exe. your solution - get new build tools from new visual studio or standalone tools and overwrite your MSVS/10.0/VC/bin directory

– RbMm
Mar 8 at 8:45













Exactly, BufferOverflowK.lib is a part of DDK, and could not be recompiled. VC++ 10.0 is an explicit requirement of a build system. It has been built someway in commercial version of Virtualbox with the old compiler. May be the problem with passing both path to WDK 7 and 8.1, which looks like some bug in Makefile

– Yuri S. Cherkasov
Mar 8 at 14:57






Exactly, BufferOverflowK.lib is a part of DDK, and could not be recompiled. VC++ 10.0 is an explicit requirement of a build system. It has been built someway in commercial version of Virtualbox with the old compiler. May be the problem with passing both path to WDK 7 and 8.1, which looks like some bug in Makefile

– Yuri S. Cherkasov
Mar 8 at 14:57













0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55056668%2funresolved-external-symbol-guard-fids-table%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55056668%2funresolved-external-symbol-guard-fids-table%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How to get text form Clipboard with JavaScript in Firefox 56?How to validate an email address in JavaScript?How do JavaScript closures work?How do I remove a property from a JavaScript object?How do you get a timestamp in JavaScript?How do I copy to the clipboard in JavaScript?How do I include a JavaScript file in another JavaScript file?Get the current URL with JavaScript?How to replace all occurrences of a string in JavaScriptHow to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?

Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme

List of MPs elected to the English parliament in 1640 (April) Contents List of constituencies and members See also Notes References Navigation menueNational Archives – The Glynde Place ArchivesCobbett's Parliamentary history of England, from the Norman Conquest in 1066 to the year 1803'Aldermen in Parliament', The Aldermen of the City of London: Temp. Henry III – 1912onepage&q&f&#61, false 229