[Ktechlab-devel] Compilation issues.

Roy Keene ktechlab at rkeene.org
Fri Jan 6 19:29:54 UTC 2006


Hello,

 	I've had several issues during compilation:

1. src/electronics/gpsimprocessor.cpp:
/bin/sh ../../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src -I../../src/electronics -I../../src/electronics/components -I../../src/electronics/simulation -I../../src/flowparts -I../../src/gui -I../../src/languages -I../../src/mechanics -I../../src/micro -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -I/opt/kde/include -I/usr/lib64/qt/include -I/usr/X11R6/include   -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common  -c -o gpsimprocessor.lo `test -f 'gpsimprocessor.cpp' || echo './'`gpsimprocessor.cpp
gpsimprocessor.cpp: In constructor `RegisterInfo::RegisterInfo(Register*)':
gpsimprocessor.cpp:813: error: no match for 'operator=' in '((RegisterInfo*)this)->RegisterInfo::m_name = (*(((RegisterInfo*)this)->RegisterInfo::m_pRegister->Register::_vptr.gpsimObject + 336u))(((RegisterInfo*)this)->RegisterInfo::m_pRegister)'
/usr/lib64/qt/include/qstring.h:413: note: candidates are: QString& QString::operator=(const QString&)
/usr/lib64/qt/include/qstring.h:414: note:                 QString& QString::operator=(const char*)
/usr/lib64/qt/include/qstring.h:418: note:                 QString& QString::operator=(const QCString&)
/usr/lib64/qt/include/qstring.h:868: note:                 QString& QString::operator=(QChar)
/usr/lib64/qt/include/qstring.h:871: note:                 QString& QString::operator=(char)
make[4]: *** [gpsimprocessor.lo] Error 1
make[4]: Leaving directory `/tmp/build_11365729441136572944216722/ktechlab-0.3/src/electronics'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/tmp/build_11365729441136572944216722/ktechlab-0.3/src/electronics'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/build_11365729441136572944216722/ktechlab-0.3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/build_11365729441136572944216722/ktechlab-0.3'
make: *** [all] Error 2


I fixed this by changing line 813 from:
         m_name = m_pRegister->baseName();
to:
         m_name = m_pRegister->baseName().c_str();


2. src/itemgroup.cpp, src/itemdocumentdata.cpp, ...:
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../src -I../src/drawparts -I../src/electronics -I../src/electronics/components -I../src/electronics/simulation -I../src/flowparts -I../src/gui -I../src/languages -I../src/mechanics -I../src/micro -I/opt/kde/include -I/usr/lib64/qt/include -I/usr/X11R6/include   -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common  -c -o itemgroup.o `test -f 'itemgroup.cpp' || echo './'`itemgroup.cpp
itemgroup.cpp: In member function `void ItemGroup::slotDistributeHorizontally()':
itemgroup.cpp:239: error: expected init-declarator before '<' token
itemgroup.cpp:239: error: expected `,' or `;' before '<' token
itemgroup.cpp:241: error: `DIMap' undeclared (first use this function)
itemgroup.cpp:241: error: (Each undeclared identifier is reported only once for each function it appears in.)
itemgroup.cpp:241: error: expected `;' before "ranked"
itemgroup.cpp:244: error: `ranked' undeclared (first use this function)
itemgroup.cpp:244: error: `make_pair' is not a member of `std'
...


I fixed this by adding:
#include <map>

to src/item.h


Strangely enough, I only had these problems on Slackware 10.1 and Slamd64 
10.2.  It compiled fine on Slackware 10.2.





More information about the Ktechlab-devel mailing list