Solved

Somehow creating a 64bit DLL with Borland C++ Builder?

Posted on 2012-04-03
4
922 Views
Last Modified: 2012-08-02
I've created a 32bit DLL in Borland C++ Builder XE2 no problem.

I was tasked to create a 64bit version as well. After researching the "hows" I came to know that Builder does not yet support 64bit compilations.

After some digging around it looked as though the only way to do this ( or any kind of 64bit compiling) was to use visual studio express command lines. Thus I tried the following commands to try to compile:

CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /x64
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cl.exe" -IC:\projects\dll -I"C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\include\windows\vcl" -I"C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\include\windows\rtl" -MD -LD C:\projects\dll\dll.cpp -FeMyDLL.dll

Open in new window


Running the above gives me the following error:

C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\include\windows\rtl\sysmac.h(162) : fatal error C1189: #error : "System.hpp/sysmac.h and related headers need __declspec(uuid(..)) and __uuidof support"

Open in new window


Mucking about on Google only gave me some posts on adding #define DECLSPEC_UUID(guid) which doesn't help at all.

So my question is, has anyone ever successfully compiled a borland c++ project (or an application / dll created in borland) for 64 bit (plus a step-by-step on how)? Or if anyone can help with the above error message, it would be greatly appreciated.

--
Hein.
0
Comment
Question by:ilanazbel
4 Comments
 
LVL 21

Expert Comment

by:developmentguru
ID: 37821554
I found a hint for you in the RAD Studio XE2 help.  Bring up the help and place this in the URL:

ms-help://embarcadero.rs_xe2/rad/The_declspec_Keyword_Extension.html

Towards the bottom it gives an explanation of the declspec as it applies to using a GUID with a COM style object being defined in a DLL.  

If you need to define one, just hit [Ctrl][Shift][G] and it will create the statement for you.  Placing this near the top of your project file should give you the ID it is looking for.

I post this as an attempt to help you out.  I use Delphi XE2 as the syntax is FAR more readable than the C++ is.  Having stated that, it has been many years since I compiled anything in C++, so I cannot give you a step by step.
0
 

Accepted Solution

by:
ilanazbel earned 0 total points
ID: 37841273
There is no answer to this question. After being in touch with borland themselves it seems as though 64 bit support *might* only be supported in c++ from XE3.
0
 
LVL 53

Expert Comment

by:Dhaest
ID: 38249579
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question