On 02/11/2011 12:46 AM, Timothy Pearson wrote:
On 02/10/2011
10:14 PM, Robert Xu wrote:
I'll look closer, but something tells me
I'm not going to get far...
Hehehe...
I'd wager a little look closer by you = weeks of hunting and pecking
around by
me :) Thanks for your build arguments. I'll rebuild kdelibs and see if I
can
incorporate a few additional arguments and go from there.
Just for fu, try inserting this line:
#include <libkrandr/libkrandr.h>
into this file:
kdebase/kcontrol/iccconfig/iccconfig.cpp
directly underneath this line:
#include <tqstring.h>
Then try rebuilding kdebase and see if the error changes at all. I have
heard that GCC is not supposed to follow includes more than one file deep;
if that is prohibiting a successful build then the above modification
would fix it.
Let me know if that works!
Tim
<snip>
#include <string>
#include <stdio.h>
#include <tqstring.h>
// test inclusion
#include <libkrandr/libkrandr.h>
#include "iccconfig.h"
using namespace std;
<snip>
Hmm.. No change. Same 'expected type-specifier' -> cannot convert ‘int*’ to
‘KRandrSimpleAPI*’ in initialization error. It is like it is missing code that
lets iccconfig.cpp know that ‘KRandrSimpleAPI*’ is an 'int*'. Could we add a
type-cast somewhere? If so, where? Here is the error in full:
[ 30%] Building CXX object
kcontrol/iccconfig/CMakeFiles/kcm_iccconfig-module.dir/iccconfig.cpp.o
cd /home/david/tbld/kdebase/src/kcontrol/iccconfig && /usr/bin/c++
-Dkcm_iccconfig_module_EXPORTS -DHAVE_CONFIG_H -DUSE_QT3 -DQT_NO_ASCII_CAST
-DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION
-DQT_THREAD_SUPPORT -D_REENTRANT -march=i686 -mtune=generic -O2 -pipe -include
tqt.h -fPIC -I/home/david/tbld/kdebase/src/kcontrol/iccconfig
-I/home/david/tbld/kdebase/src -I/opt/trinity/include -I/opt/qt/include
-I/opt/qt/include/tqt -DKDE_CONFDIR=\"/opt/trinity/share/config\" -o
CMakeFiles/kcm_iccconfig-module.dir/iccconfig.cpp.o -c
/home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp
/home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp: In member function
‘void KICCConfig::load(bool)’:
/home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:292:38: error:
expected type-specifier
/home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:292:38: error: cannot
convert ‘int*’ to ‘KRandrSimpleAPI*’ in initialization
/home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:292:38: error:
expected ‘,’ or ‘;’
/home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp: In member function
‘virtual void KICCConfig::save()’:
/home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:362:37: error:
expected type-specifier
/home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:362:37: error: cannot
convert ‘int*’ to ‘KRandrSimpleAPI*’ in initialization
/home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:362:37: error:
expected ‘,’ or ‘;’
make[2]: ***
[kcontrol/iccconfig/CMakeFiles/kcm_iccconfig-module.dir/iccconfig.cpp.o] Error 1
make[2]: Leaving directory `/home/david/tbld/kdebase/src'
make[1]: *** [kcontrol/iccconfig/CMakeFiles/kcm_iccconfig-module.dir/all] Error 2
make[1]: Leaving directory `/home/david/tbld/kdebase/src'
make: *** [all] Error 2
Aborting...
--
David C. Rankin, J.D.,P.E.