How To Create A 64 Bit Dll In Visual Studio _BEST_
The above steps will create a 32-bit resource-only DLL. The following steps will show you how to create a 64-bit resource-only DLL by adding an x64 (64-bit) configuration to your Visual Studio project.
how to create a 64 bit dll in visual studio
When you build 32-bit DLLs, Visual Studio creates the DLLs in the Debug and Release sub folders of your Visual Studio's project folder. For 64-bit DLLs, they will be created in the x64\Debug and x64\Release sub folders of your Visual Studio's project folder.
As noted above, Visual Studio creates the 32-bit DLLs in the Debug and Release sub folders of your Visual Studio's project folder and the 64-bit DLLs are created in the x64\Debug and x64\Release sub folders.
The default name of the resource header file is resource.h and it is located in a sub folder with the same name as your Visual Studio's project folder. For example, the Welcome project we created above is in a folder named Welcome. That folder contains a sub folder also named Welcome.
Later versions of Visual Studio will create this header file with unicode encoding. Origin C can not read this encoding so you can not simply copy the file to your Origin C folder. Instead, you need to convert the file from unicode to ANSI.
At this point you should have created your DLL and copied it and it's resource header file to the Origin C sub folder in your User Files folder. Now we will write the Origin C code that will display the dialog and handle events.
To generate the 32-bit dynamic link library (DLL), create a 'dll' code generation configuration object. Specifying 'dll' directs the linker (a build tool in the toolchain) to use "Shared Library" linker commands.
This solution requires additional work as the 32-bit surrogate process that loads the 32-bit DLL and exposes its API must be created. Also, some changes will be necessary on the 64-bit side as the consumer must use one of the IPC techniques instead of directly accessing the 32-bit DLL. It is worth noting that, in extreme cases, this additional work could be comparable to the work involved in developing a 64-bit version of the 32-bit DLL from scratch.
Especially if the third-part library is not a core functionality of your application, but is an additional functionality that is used occasionally, for example generating a report, or exporting data some specific format, it is quite feasible to create a 32-bit COM server application that wraps the library.The task can be made easier by using Microsoft's Active Template Library (ATL).
Suppose we have a third-party library consisting of a 32-bit DLL named SampleLibrary.dll and a header file SampleFunc.h. There is also an import library, SampleLibrary.lib, but even if there wasn;t one, it can easily be created from the DLL using an implib tool.And we do not have the source code, so we cannot recompile that library to 64-bit.
First, in the aplication solution or in a new solution, create a new "ATL project", named in this case SampleWrapper. It is important to set the Application Type to Executable, as it has to be an out-of-proc server.This will result in adding two project in the solution - SampleWrapper and SampleWrapperPS.Right-click on the SampleWrapper project node and select Add / New item and in the dialog find and choose "ATL Simple Object". Name it SampleFunc.
Visual Studio 2019 Projects workflow and menus have changed from previous Visual Studio versions. Please read this article for information on how to create new Fortran projects under Visual Studio 2019.
NOTE For 32-bit applications on a 32-bit PC or 64-bit applications on a 64-bit PC the registry values should be in HKEY_LOCAL_MACHINE\SOFTWARE\Florentis\sd.For 32-bit applications (e.g. Internet Explorer) on a 64-bit PC they should be in HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Florentis\sd.If any doubt please put them in both locations and create the "sd" key if it doesn't already exist.
You can use a full license key as provided to you when youpurchase, or you can use a trial license key copied from thePDFSettings application. To enter a license key, call XSettings.InstallLicenseor at application startup before any ABCpdf objects have beencreated. If you have purchased a Redistribution license, you mayprefer to call XSettings.InstallRedistributionLicense.In both cases the license will remain available to the processuntil it unloads.
So given the platform target chosen for the assembly in column 1, Visual Studio will produce an assembly whose image has the indicated header type in column 2. If that image is an .EXE and is run, Windows will create a process of the type indicated in column 3.
Back when we ran the tests, you can see that the first line of the output contains the type of underlying Windows system the host process code detects, as well as the type of Windows process that was created.