Prawie 3 miesiące od ostatniego wpisu chciałbym ogłosić dostępność nowej wersji mojej nakładki. Doszło do małego uporządkowania kodu inicjalizującego połączenie DBus. Poprawiłem też segfault występujący z Qt 4.6_rc1 (podziękowania dla lazy_buma za zgłoszenie usterki). Dodałem też jedną nową funkcję - automatyczną detekcję czy CDemu odpalono globalnie czy lokalnie. Przedtem program wyświetlał komunikat o braku urządzeń, licząc na interwencję ze strony użytkownika. Teraz próbuje najpierw drugiej szyny i dopiero, jeśli to się nie uda, wyświetla błąd. Krótko mówiąc, o ile odpaliliście cdemud i nie ma problemów z uprawnieniami, stary komunikat błędu nie powinien się już pokazywać :) Nie przedłużając, zapraszam do pobrania źródeł lub (użytkownicy Gentoo) do skorzystania z ebuilda z zaprzyjaźnionego roslin uberlay.
P.S. W związku z ostatnimi prośbami, poszukuję osoby, która zechciałaby przygotować paczkę dla (K)Ubuntu. Zainteresowanych proszę o kontakt w komentarzach albo drogą mailową.
Według komentarzy do poprzedniej wersji musisz skasować qt3-dev-tools i doinstalować qt4-dev-tools.
Nemo writes:
Przy kompilacji dostaję następujące komunikaty (Kubuntu 9.10, KDE 4.3.3):
qcdemu-0.2.3$make
g++ -c -pipe -g -Wall -W -O2 -D_REENTRANT -DTRANSLATION_PATH=\"/usr/share/qcdemu\" -DVERSION=\"0.2.3\" -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I. -I/usr/include/qt3 -o main.o main.cpp
: warning: missing terminating " character
: warning: missing terminating " character
In file included from main.cpp:19:
qcdemu.h:22:17: error: QtGui: No such file or directory
qcdemu.h:23:25: error: QtDBus/QtDBus: No such file or directory
main.cpp:32: error: stray ‘’ in program
main.cpp:32: error: missing terminating " character
In file included from main.cpp:19:
qcdemu.h:35: error: expected class-name before ‘{’ token
qcdemu.h:36: error: ISO C++ forbids declaration of ‘Q_OBJECT’ with no type
qcdemu.h:38: error: expected ‘;’ before ‘public’
qcdemu.h:40: error: ISO C++ forbids declaration of ‘QStringList’ with no type
qcdemu.h:40: error: expected ‘,’ or ‘…’ before ‘&’ token
qcdemu.h:43: error: expected ‘:’ before ‘slots’
qcdemu.h:44: error: expected primary-expression before ‘void’
qcdemu.h:44: error: ISO C++ forbids declaration of ‘slots’ with no type
qcdemu.h:44: error: expected ‘;’ before ‘void’
qcdemu.h:46: error: expected unqualified-id before ‘&’ token
qcdemu.h:46: error: expected ‘)’ before ‘&’ token
qcdemu.h:46: error: expected ‘;’ before ‘&’ token
qcdemu.h:60: error: ‘QVariantList’ does not name a type
qcdemu.h:73: error: ISO C++ forbids declaration of ‘QString’ with no type
qcdemu.h:73: error: expected ‘,’ or ‘…’ before ‘&’ token
qcdemu.h:74: error: ISO C++ forbids declaration of ‘QString’ with no type
qcdemu.h:74: error: expected ‘,’ or ‘…’ before ‘&’ token
qcdemu.h:75: error: ISO C++ forbids declaration of ‘QStringList’ with no type
qcdemu.h:75: error: expected ‘,’ or ‘…’ before ‘&’ token
qcdemu.h:76: error: ISO C++ forbids declaration of ‘QStringList’ with no type
qcdemu.h:76: error: expected ‘,’ or ‘…’ before ‘&’ token
qcdemu.h:80: error: ‘QStringList’ does not name a type
qcdemu.h:90: error: ‘QString’ does not name a type
qcdemu.h:97: error: ‘QStringList’ does not name a type
qcdemu.h: In member function ‘unsigned int QCDemu::getDeviceNumber()’:
qcdemu.h:68: error: variable ‘QDBusMessage reply’ has initializer but incomplete type
qcdemu.h:68: error: invalid use of incomplete type ‘struct QDBusInterface’
qcdemu.h:27: error: forward declaration of ‘struct QDBusInterface’
qcdemu.h:69: error: incomplete type ‘QDBusMessage’ used in nested name specifier
main.cpp: In function ‘int main(int, char**)’:
main.cpp:23: error: ‘QApplication’ was not declared in this scope
main.cpp:23: error: expected ‘;’ before ‘app’
main.cpp:26: error: ‘QTextCodec’ has not been declared
main.cpp:26: error: ‘QTextCodec’ has not been declared
main.cpp:27: error: ‘QTranslator’ was not declared in this scope
main.cpp:27: error: expected ‘;’ before ‘trans’
main.cpp:28: error: expected ‘;’ before ‘qt_trans’
main.cpp:29: error: ‘QString’ was not declared in this scope
main.cpp:29: error: expected ‘;’ before ‘lang’
main.cpp:30: error: ‘qt_trans’ was not declared in this scope
main.cpp:30: error: ‘lang’ was not declared in this scope
main.cpp:31: error: ‘QLibraryInfo’ has not been declared
main.cpp:31: error: ‘QLibraryInfo’ has not been declared
main.cpp:32: error: ‘trans’ was not declared in this scope
main.cpp:32: error: expected primary-expression before ‘)’ token
main.cpp:33: error: ‘app’ was not declared in this scope
main.cpp:37: error: ‘QStringList’ was not declared in this scope
main.cpp:37: error: expected ‘;’ before ‘params’
main.cpp:38: error: ‘params’ was not declared in this scope
main.cpp:40: error: expected ‘;’ before ‘files’
main.cpp:41: error: ‘QDir’ was not declared in this scope
main.cpp:41: error: expected ‘;’ before ‘directory’
main.cpp:44: error: ‘files’ was not declared in this scope
main.cpp:44: error: ‘directory’ was not declared in this scope
main.cpp:46: error: ‘files’ was not declared in this scope
qcdemu.h:41: error: ‘QCDemu::~QCDemu()’ is private
main.cpp:46: error: within this context
main.cpp:51: error: incomplete type ‘QSystemTrayIcon’ used in nested name specifier
main.cpp:53: error: incomplete type ‘QMessageBox’ used in nested name specifier
main.cpp:53: error: ‘QObject’ has not been declared
main.cpp:54: error: ‘QObject’ has not been declared
main.cpp:58: error: no matching function for call to ‘QCDemu::QCDemu()’
qcdemu.h:40: note: candidates are: QCDemu::QCDemu(int)
qcdemu.h:35: note: QCDemu::QCDemu(const QCDemu&)
qcdemu.h:41: error: ‘QCDemu::~QCDemu()’ is private
main.cpp:58: error: within this context
main.cpp: At global scope:
main.cpp:21: warning: unused parameter ‘argc’
main.cpp:21: warning: unused parameter ‘argv’
make: *** [main.o] Błąd 1