Thread overview
wxWindows 2.5 (current cvs checkout)
May 03, 2003
Arjan Knepper
May 04, 2003
donh
May 04, 2003
donh
May 04, 2003
Arjan Knepper
May 04, 2003
chris elliott
May 06, 2003
chris elliott
May 06, 2003
Arjan Knepper
May 07, 2003
chris elliott
May 03, 2003
Chris,

If you still there, I have done a cvs checkout to get the latest wxWindows src-tree. After disabling the __DIGITALMARS__ define for __DMC__ you made and making a new define for it in platform.h I had almost no trouble to recompile the libs and samples, no link problems at all.

I had to disable a lot of preprocessor stuff left in for __SC__ by also checking for __DMC__ e.g.

old: #if defined(__SC__)
new: #if (defined(__SC__) && !defined(__DMC__))

After that and a few minor things I was able to recompile the libs and a  the samples.

I don;t know what caused your problems, I guess wrong or missing compiler options.

Here is a sample line from the wxWindows lib:

sc COMMON\taskbarcmn.cpp -cpp -Ae -Ar -mn -D_WINDOWS -S -5 -a8 -Nc -c -H -HDc:\temp\ph -HO- -gf -DWXMSW -D__WIN32__ -D__WIN95__ -D_DEBUG=1 -I..\include -I..\lib\msw -I.\jpeg -I.\png -I.\zlib -I.\tiff -I.\regex -odmc\debug\taskbarcmn.obj


Here is a sample line from the minimal sample:

sc minimal.cpp -cpp -Ae -Ar -mn -WA -S -5 -a8 -Nc -c -H -HDdmc\release -HO- -gf -D__WIN95__ -D_DEBUG=1 -I.\ -I..\..\include -I..\..\lib\msw -odmc\debug\minimal.obj
rcc -32 -I.\ -I..\..\include -I..\..\lib\msw -odmc\debug\minimal.res minimal.rc
link /CO /NOI /DE /PACKF /XN /NT /ENTRY:WinMainCRTStartup /BAS:4194304 /A:512 /RC   :dmc\debug\minimal.RES @dmcminimal.LNK

And yes I use the precompiled header feature it sure speeds up the compiling cicle!!

Good luck
Arjan Knepper

May 04, 2003
I'm a bit of a beginner messing around with trying to get wxWindows to compile with DMC. I pulled down the CVS copy from 30 April and set about making the changes you mentioned. How do you work around the template problem in rawbmp.h? Thank you.

I think this is the template that the compiler stops on...

template <class Image, class PixelFormat = wxPixelFormatFor<Image> >
class wxPixelData :
    public wxPixelDataOut<Image>::template wxPixelDataIn<PixelFormat>
{
public:
    wxPixelData(const Image& image)
        : wxPixelDataOut<Image>::template wxPixelDataIn<PixelFormat>(image)
        {
        }
};

dmc -c -o -cpp -Ae -Ar -mn -D_WINDOWS -S -5 -a8 -Nc -c -H -HDc:\temp\ph -HO-
 -gf
 -DWXMSW -D__WIN32__ -D__WIN95__ -D_DEBUG=1 -I.\include -I..\lib\msw -I.\jpe
g -I
.\png -I.\zlib -I.\tiff -I.\regex  -Ic:\wxWin\include -Ic:\wxWin\lib\_sc
c:\wxWin\src\msw\dc.cpp
-oc:\wxWin\src\msw\dc.obj
c:\wxWin\include\wx/rawbmp.h(566) : Error: identifier or '( declarator )'
expected
c:\wxWin\include\wx/rawbmp.h(567) : Error: cannot find constructor for class
matching
wxPixelDataOut<wxBitmap >::wxPixelDataIn<>::wxPixelDataOut<wxBitmap
>::wxPixelDataIn<>()


May 04, 2003
Never mind. I found Walter's workaround; use :: instead of ::template.

"donh" <null@device.com> wrote in message news:b9243b$bp$1@digitaldaemon.com...
> I'm a bit of a beginner messing around with trying to get wxWindows to compile with DMC. I pulled down the CVS copy from 30 April and set about making the changes you mentioned. How do you work around the template problem in rawbmp.h? Thank you.
>
> I think this is the template that the compiler stops on...
>
> template <class Image, class PixelFormat = wxPixelFormatFor<Image> >
> class wxPixelData :
>     public wxPixelDataOut<Image>::template wxPixelDataIn<PixelFormat>
> {
> public:
>     wxPixelData(const Image& image)
>         : wxPixelDataOut<Image>::template
wxPixelDataIn<PixelFormat>(image)
>         {
>         }
> };
>
>
dmc -c -o -cpp -Ae -Ar -mn -D_WINDOWS -S -5 -a8 -Nc -c -H -HDc:\temp\ph -HO-
>  -gf
>  -DWXMSW -D__WIN32__ -D__WIN95__ -D_DEBUG=1 -I.\include -I..\lib\msw -I.\j
pe
> g -I
> .\png -I.\zlib -I.\tiff -I.\regex  -Ic:\wxWin\include -Ic:\wxWin\lib\_sc
> c:\wxWin\src\msw\dc.cpp
> -oc:\wxWin\src\msw\dc.obj
> c:\wxWin\include\wx/rawbmp.h(566) : Error: identifier or '( declarator )'
> expected
> c:\wxWin\include\wx/rawbmp.h(567) : Error: cannot find constructor for
class
> matching
> wxPixelDataOut<wxBitmap >::wxPixelDataIn<>::wxPixelDataOut<wxBitmap
> >::wxPixelDataIn<>()
>
>


May 04, 2003
I don't know whether or not it is also available in your checkout, in the platform.h file is a section for disableing this template wxPixelData stuff with this define:
wxHAVE_RAW_BITMAP.

But if you have it working with the wxPixelData template stuff why bother.

Good luck

Arjan

donh wrote:
> Never mind. I found Walter's workaround; use :: instead of ::template.
> 
> "donh" <null@device.com> wrote in message
> news:b9243b$bp$1@digitaldaemon.com...
> 
>>I'm a bit of a beginner messing around with trying to get wxWindows to
>>compile with DMC. I pulled down the CVS copy from 30 April and set about
>>making the changes you mentioned. How do you work around the template
>>problem in rawbmp.h? Thank you.
>>
>>I think this is the template that the compiler stops on...
>>
>>template <class Image, class PixelFormat = wxPixelFormatFor<Image> >
>>class wxPixelData :
>>    public wxPixelDataOut<Image>::template wxPixelDataIn<PixelFormat>
>>{
>>public:
>>    wxPixelData(const Image& image)
>>        : wxPixelDataOut<Image>::template
> 
> wxPixelDataIn<PixelFormat>(image)
> 
>>        {
>>        }
>>};
>>
>>
> 
> dmc -c -o -cpp -Ae -Ar -mn -D_WINDOWS -S -5 -a8 -Nc -c -H -HDc:\temp\ph -HO-
> 
>> -gf
>> -DWXMSW -D__WIN32__ -D__WIN95__ -D_DEBUG=1 -I.\include -I..\lib\msw -I.\j
> 
> pe
> 
>>g -I
>>.\png -I.\zlib -I.\tiff -I.\regex  -Ic:\wxWin\include -Ic:\wxWin\lib\_sc
>>c:\wxWin\src\msw\dc.cpp
>>-oc:\wxWin\src\msw\dc.obj
>>c:\wxWin\include\wx/rawbmp.h(566) : Error: identifier or '( declarator )'
>>expected
>>c:\wxWin\include\wx/rawbmp.h(567) : Error: cannot find constructor for
> 
> class
> 
>>matching
>>wxPixelDataOut<wxBitmap >::wxPixelDataIn<>::wxPixelDataOut<wxBitmap
>>
>>>::wxPixelDataIn<>()
>>
>>
> 
> 

May 04, 2003
"donh" <null@device.com> wrote in message news:b93qj8$1f3j$1@digitaldaemon.com...
> Never mind. I found Walter's workaround; use :: instead of ::template.
>

I'll look at this too

chris


May 06, 2003
"Arjan Knepper" <ask@me.to> wrote in message news:b91262$22so$1@digitaldaemon.com...
> Chris,
>
> If you still there, I have done a cvs checkout to get the latest wxWindows src-tree. After disabling the __DIGITALMARS__ define for __DMC__ you made and making a new define for it in platform.h I had almost no trouble to recompile the libs and samples, no link problems at all.
>
> I had to disable a lot of preprocessor stuff left in for __SC__ by also checking for __DMC__ e.g.
>
> old: #if defined(__SC__)
> new: #if (defined(__SC__) && !defined(__DMC__))

I have been round and replaced all the __SC__  with __SYMANTEC__
I have left __DIGITALMARS__ in the code as i think this might be clearer to
wxWindows developers
chris


May 06, 2003
chris elliott wrote:
> "Arjan Knepper" <ask@me.to> wrote in message
> news:b91262$22so$1@digitaldaemon.com...
> 
>>Chris,
>>
>>If you still there, I have done a cvs checkout to get the latest
>>wxWindows src-tree. After disabling the __DIGITALMARS__ define for
>>__DMC__ you made and making a new define for it in platform.h I had
>>almost no trouble to recompile the libs and samples, no link problems at
>>all.
>>
>>I had to disable a lot of preprocessor stuff left in for __SC__ by also
>>checking for __DMC__ e.g.
>>
>>old: #if defined(__SC__)
>>new: #if (defined(__SC__) && !defined(__DMC__))
> 
> 
> I have been round and replaced all the __SC__  with __SYMANTEC__
> I have left __DIGITALMARS__ in the code as i think this might be clearer to
> wxWindows developers
> chris

Yeh __DIGITALMARS__ is clearer.
How does the linking go? Are the 'extern "C"' problems solved now as well?

Good Luck
Arjan Knepper

May 07, 2003
I have been using the 8.34 beta Digital Mars compiler on the wxWindows Library see http://www.digitalmars.com/

1. You need to download and unzip in turn (later packages will overwrite older files)
    Digital Mars C/C++ Compiler Version 8.33
    Basic utilities
    beta test C++ Compiler Version 8.34
   from http://www.digitalmars.com/download/freecompiler.html

2. Make sure your WXWIN variable is set, and uses the FAT (short
   name) form.

3. Change directory to wx\src\msw. Type 'make -f makefile.sc' to
   make the wxWindows core library.
4. Change directory to wx\samples\minimal and type 'make -f makefile.sc'
   to make this sample. The mdi and image sample also work;

I have not updated makefile.sc in other directories.
Other samples may run if you replace samplename with the name of the cpp file in this makefile.sc

# Digital Mars / Symantec C++ makefile
WXDIR = ..\..
TARGET=samplename
include $(WXDIR)\src\makeprog.sc

If you get unresolved externals, please let me know; look in lib\_sc\*.def to see a possible solution

I have resolved the problems in rawbmp.h and added .def library files for the missing externals which I have found so far (wsock32 and shell32 libs).

I'd just like to thank Arjan  and Donh for their constructive comments -  let me have any more suggestions!

chris