|
Archives
D Programming
DD.gnu digitalmars.D digitalmars.D.bugs digitalmars.D.dtl digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript |
c++.windows.32-bits - Platform SDK
Hi folks!!! Is it possible to use Microsoft's Platform SDK libraries and header files for building applications with the DMC++ compiler, or the binary formats are non compatible ? In case it is, would be a great improvement on the outdated DM includes/libs. Thanks. Jun 26 2002
I am working on that, but haven't been able to finish the job yet. One of the problems is regenerating the import libraries which I 'patched' IMPLIB for so it actually check an header file for the prototypes and adds the proper n to the function name. Jan Fabiuccio wrote:Hi folks!!! Is it possible to use Microsoft's Platform SDK libraries and header files for building applications with the DMC++ compiler, or the binary formats are non compatible ? In case it is, would be a great improvement on the outdated DM includes/libs. Thanks. Jun 26 2002
Folgorato da brillante idea, Jan Knepper ha scritto il 26 Jun 2002 (news:3D19D9A6.4B56D6C2 smartsoft.cc):I am working on that, but haven't been able to finish the job yet. One of the problems is regenerating the import libraries which I 'patched' IMPLIB for so it actually check an header file for the prototypes and adds the proper n to the function name. Jan Jun 26 2002
Fabiuccio wrote:Folgorato da brillante idea, Jan Knepper ha scritto il 26 Jun 2002 (news:3D19D9A6.4B56D6C2 smartsoft.cc):I am working on that, but haven't been able to finish the job yet. One of the problems is regenerating the import libraries which I 'patched' IMPLIB for so it actually check an header file for the prototypes and adds the proper n to the function name. Jan Jun 26 2002
On Wed, 26 Jun 2002 11:11:34 -0400, Jan Knepper wrote:Fabiuccio wrote:Is it possible to use Microsoft's Platform SDK libraries and header files for building applications with the DMC++ compiler, or the binary formats are non compatible ? Jun 27 2002
In article <affftv$287b$1 digitaldaemon.com>, Christof Meerwald says...On Wed, 26 Jun 2002 11:11:34 -0400, Jan Knepper wrote:Fabiuccio wrote:Is it possible to use Microsoft's Platform SDK libraries and header files for building applications with the DMC++ compiler, or the binary formats are non compatible ? Sep 20 2002
Christof Meerwald wrote:On Wed, 26 Jun 2002 11:11:34 -0400, Jan Knepper wrote:Fabiuccio wrote:Is it possible to use Microsoft's Platform SDK libraries and header files for building applications with the DMC++ compiler, or the binary formats are non compatible ? Sep 20 2002
Christof Meerwald wrote:Why not use the libraries included in Microsoft's Platform SDK? You just have to convert them: - use "link /lib /convert" (using the Microsoft linker included in the Platform SDK) to convert the libraries to the old COFF format - use DMC's coff2omf to convert the libraries to OMF Sep 20 2002
On Fri, 20 Sep 2002 09:15:11 -0400, Jan Knepper wrote:Christof Meerwald wrote:- use "link /lib /convert" (using the Microsoft linker included in the Platform SDK) to convert the libraries to the old COFF format Sep 20 2002
Christof Meerwald wrote:On Fri, 20 Sep 2002 09:15:11 -0400, Jan Knepper wrote:Christof Meerwald wrote:- use "link /lib /convert" (using the Microsoft linker included in the Platform SDK) to convert the libraries to the old COFF format Sep 20 2002
I also tried this method and had the same result as Jan ie: ====================== Symbol Undefined _IID_IDirectDraw7 Lines Processed: 130061 Errors: 1 Warnings: 1 Build failed ======================= Has anyone found a way around this problem? Phill. Has anyone solved this problem? "Jan Knepper" <jan smartsoft.cc> wrote in message news:3D8B90C0.E6789619 smartsoft.cc...Christof Meerwald wrote:On Fri, 20 Sep 2002 09:15:11 -0400, Jan Knepper wrote:Christof Meerwald wrote:- use "link /lib /convert" (using the Microsoft linker included in Apr 10 2003
I don't know what else you have tried, but a relatively simple, albeit
hacky, way around this is to define the symbol internally.
const IID IID_IDirectDraw7 = { ... }
The value of IID_IDirectDraw7 will *never* change, so this should be fine.
However, you may want to insulate your code from a multiply defined symbol,
if IID_IDirectDraw7 becomes linked in the future. A way to get around this
is
// in global header
#define IID_IDirectDraw7 IID_IDirectDraw7_internal
// in implementationfile.cpp
const IID IID_IDirectDraw7_internal = { ... };
That way even if/when you link to IID_IDirectDraw7 it'll all compile and
link and work no problem.
Naturally it's a little unattractive, since it's a #define, but because of
the immutability of IID values it is safe.
"Phill" <phillbert pacific.net.au> wrote in message
news:b73dpf$281n$1 digitaldaemon.com...
Apr 10 2003
I've faced this problem couple months ago (mainly with DirectShow GUIDs),
and found the cause and solution.
Cause: VC uses 'struct __declspec(uuid("..."))' constructions hidden via
MIDL_INTERFACE macro
Solution: I wrote special parser which went through all headers and
extracted all GUIDs into separate sources, then compiled them and added to
library.
I doubt if this lib becomes copyrighted, so I don't publish it here, but you
are free to contact me directly and I will send it to you (in zip it is 48
Kb).
Nic Tiger.
"Phill" <phillbert pacific.net.au> сообщил/сообщила в новостях следующее:
news:b73dpf$281n$1 digitaldaemon.com...
Apr 10 2003
Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Yeah, create a file with the necessary IID's in there. Such as attached for example... Good luck! Jan Phill wrote:I also tried this method and had the same result as Jan ie: ====================== Symbol Undefined _IID_IDirectDraw7 Lines Processed: 130061 Errors: 1 Warnings: 1 Build failed ======================= Has anyone found a way around this problem? Phill. Has anyone solved this problem? "Jan Knepper" <jan smartsoft.cc> wrote in message news:3D8B90C0.E6789619 smartsoft.cc...Christof Meerwald wrote:On Fri, 20 Sep 2002 09:15:11 -0400, Jan Knepper wrote:Christof Meerwald wrote:- use "link /lib /convert" (using the Microsoft linker included in Apr 10 2003
I found an even simpler way from the Microsoft website, just add the following line before including ddraw.h like this: #define INITGUID #include "ddraw.h" This fixes all of the IID's Thanks to all for your suggestions. Phill. "Jan Knepper" <jan smartsoft.us> wrote in message news:3E95F5B7.14C29C84 smartsoft.us...Yeah, create a file with the necessary IID's in there. Such as attached Apr 10 2003
Cool! This might add quite a bit of 'size' to your code though... Phill wrote:I found an even simpler way from the Microsoft website, just add the following line before including ddraw.h like this: #define INITGUID #include "ddraw.h" This fixes all of the IID's Thanks to all for your suggestions. Phill. Apr 11 2003
It does. That's the reason I often eschew it in favour of the "#define _" technique, especially when creating small COM DLLs "Jan Knepper" <jan smartsoft.us> wrote in message news:3E96CDB8.E3C47E7C smartsoft.us...Cool! This might add quite a bit of 'size' to your code though... Phill wrote:I found an even simpler way from the Microsoft website, just add the following line before including ddraw.h like this: #define INITGUID #include "ddraw.h" This fixes all of the IID's Thanks to all for your suggestions. Phill. Apr 11 2003
Ok , I see what you mean . Nic sent me a file that has fixed the problem any way. Im just glad to get rid of the headache and learn something new from this. Im just another new Imigrant from Java. Thanks BTW, Jan your website has your old Email address on it , I see you have a new one. .cc -> .us Phill. "Jan Knepper" <jan smartsoft.us> wrote in message news:3E96CDB8.E3C47E7C smartsoft.us...Cool! This might add quite a bit of 'size' to your code though... Phill wrote:I found an even simpler way from the Microsoft website, just add the following line before including ddraw.h like this: #define INITGUID #include "ddraw.h" This fixes all of the IID's Thanks to all for your suggestions. Phill. Apr 11 2003
|