Link Microsoft Visual Studio DLL to a WDK LIB - visual-studio-2010

Is it possible to link a LIB file generated from the WDK to a DLL being built in Visual Studio? The versions would be VS2010 and WDK 7.1.
I'm experiencing linker errors and was wondering if this was even possible.

You can link a WDK LIB into a MSVS DLL. My problem was that I was not marking exported functions with the extern "C" qualifier.

Related

VC++ custom action for Wix

We are using CustomActions written in VC++ in our WIX msis. it is working fine in Windows7 machine. But when we tried to run the msi in Win 10 it is not working and failing because Microsoft Visual C++ 2010 Redistributable Package is not installed by default in Win 10 machine. So for making the MSI to work we should install Microsoft Visual C++ 2010 Redistributable Package. But the problem is that we can't install it along with the MSi because the custom actions are responsible for choosing the INSTALLDIR and this will happen before installing anything.So my question is
1.)Do we really need Visual C++ 2010 Redistributable for running VC++ custom actions.?
2.)How can i install it before choosing the INSTALLDIR?
Simply compile your DLL with static libraries. In this case your DLL has no additional dependencies.
In the project settings set General->Use of MFC to Use MFC in a static library.
Under C/C++ -> Code Generation choose the options Multithreaded or Multithreaded Debug /MT or /MTd.
You can use the Dependency Walker to check out if you need more DLLs that must be installed.
You should statically link CRT libraries into your custom actions dll instead.

"onecore" folder in Visual Studio 2017

In Visual Studio 2017 RTM VC\Tools\MSVC\14.10.25017\lib folder, there is one folder called "onecore", inside there are folders for x64, x86 and arm, each containing some .lib files that already exist VC\Tools\MSVC\14.10.25017\lib{x64,x86,arm}. What is the function of these duplicates?
Also, what is the meaning of thus "onecore" anyway?
OneCore is a Microsoft term for different targets like mobile, desktop and IoT. The libraries are intended to be used by C++ programs for those targets. E.g. heed that MFC and C++ AMP are not part of OneCore.
The OneCore libraries are also part of the Visual Studio MSVC Redist folder.
I believe those are C++ runtimes for Universal Windows Platform applications.

How to determine a lib or dll is built from which Visual Studio?

For c++ lib,
I am wondering if there is a way or tool to determine if a lib is for which version of visual studio.
I think different visual studio should use different version of lib. Some libraries does not specify and using the wrong visual studio will have compile/link error.

Are Runtime libraries included in Visual Studio 2008 Pro by default?

Can anyone tell me how to check in visual studio if it has the following libraries included?
The first question I have is are any of these included in the VS by default by installing VS 2008.
These are the libraries:
VC++ Runtime libraries
VC++ Static MT CRT libraries
VC++ Dynamic CRT libraries
ATL MFC Shared Libraries unicode
Can you please suggest me what I need to do, if they are not included in the VC++? Can you provide me with their download links please?
This doesn't look like a linker error; it looks like a compiler error. So, yes, your colleague is right: it might have something to do with #include files, in particular with an #include file that your cpp source failed to #include.
Look for and the include the file atlcom.h and see what the compiler says then.
Microsoft Visual C++ 2008 Redistributable Package (x86)
Be sure to get all updates (windows update or e.g. InstallShield update components etc).
Notably, there has been an important update to ATL Server components which I think (IIRC) is in
Microsoft Visual Studio 2008 Service Pack 1 Update (KB974479)
Update and check this one too
Visual Studio 2008 Service Pack 1 ATL Security Update

Boost .lib's for Visual Studio 2010

Where can i get boost .lib for visual studio 2010??
I tried to rename the old .lib's for VS2008 but this didn't work for the threads library.
Build the binary from source if the distro supplied one is not compatible.

Resources