[Thread Prev][Thread Next]   >Date Index >Thread Index

[wmx] wmx on solaris with workshop

f - Tue Feb 01 00:36:34 2000

Hello

I just tried to compile wmx-6pre1 on Solaris 2.6/7
with the Workshop Compiler 4.2 
18. Sep 97 C++ 4.2 patch 104631-04

But i nearly failed.

The first Problem was the undefined true and false
wmx uses in the File Manager.C: 

line 546 
Client *newC = new Client(this, w, bounding_shape==1?true:false)

Why do you use true and false and not True and False as in the 
rest of the files. Because True and False are defined in my
header files ans tehe other two not.

So i changed them to the uppercase variant.

The next error i got was:

CC -c -g -O2 -I/usr/X11R6//include -I/include Menu.C
"Menu.C", line 576: Error: Unexpected type name "Client" encountered.
"Menu.C", line 576: Error: c is not defined.
"Menu.C", line 576: Error: c is not defined.
"Menu.C", line 581: Error: Unexpected type name "Client" encountered.
"Menu.C", line 581: Error: c is not defined.
"Menu.C", line 581: Error: c is not defined.
"Menu.C", line 586: Error: Unexpected type name "Client" encountered.
"Menu.C", line 586: Error: c is not defined.
"Menu.C", line 586: Error: c is not defined.
"Menu.C", line 592: Error: A previously specified default argument value cannot
be changed.
10 Error(s) detected.
*** Error code 10
make: Fatal error: Command failed for target `Menu.o'


Which turned to be:

void ClientMenu::showFeedback(int item)
{   
    if (Client *c = checkFeedback(item)) c->showFeedback();
}

void ClientMenu::removeFeedback(int item, Boolean mapped)
{
    if (Client *c = checkFeedback(item)) c->removeFeedback(mapped);
}

void ClientMenu::raiseFeedbackLevel(int item)
{
    if (Client *c = checkFeedback(item)) c->raiseFeedbackLevel();
}


If you change them to (sec you are right)

void ClientMenu::showFeedback(int item)
{   Client *c;
    if (c = checkFeedback(item)) c->showFeedback();
}

[...] 
then it compiles a bit better


The next error was:
CC -c -g -I/usr/openwin/include -I/consol/include Menu.C                        
"Menu.C", line 595: Error: A previously specified default argument 
value cannot be changed.                                                                    
1 Error(s) detected.                                                            
*** Error code 1                                                                
make: Fatal error: Command failed for target `Menu.o' 

This was:
CommandMenu::CommandMenu(WindowManager *manager, XEvent *e,
             char* otherdir = NULL)
    : Menu(manager, e)

Which i modified to 
CommandMenu::CommandMenu(WindowManager *manager, XEvent *e,
             char* otherdir)
    : Menu(manager, e)

i don't know what this last patch breaks but i don't understand why
wmx sets otherdir to NULL in the constructor.

After these Patches wmx compiled and worked as expected.
The only thing i didn't get working are the key bindings
I think i have to modify the Config.h to get it work,
perhaps ayone has experiences whith this?

Thanks a lot Fabian


Next: