[SOLVED] [Qt] QXmpp - ciągle ten sam błąd : "error: undefined reference to ..."

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
Fr3on
Sędziwy Jeż
Sędziwy Jeż
Posty: 34
Rejestracja: 26 kwie 2009, 10:03
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

[SOLVED] [Qt] QXmpp - ciągle ten sam błąd : "error: undefined reference to ..."

Post autor: Fr3on »

Witam, tak jak w temacie mam problem z QXmpp. Szukałem i jedyne co znalazłem to to, żeby w pliku .pro dodać QT += qxmpp ale to nic nie zmienia.

Kod: Zaznacz cały

#include <QtGui/QApplication>
#include "mainwindow.h"
#include "qxmpp/QXmppClient.h"
#include "qxmpp/QXmppLogger.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    QXmppLogger::getLogger()->setLoggingType(QXmppLogger::StdoutLogging);
    QXmppClient client;
    client.connectToServer("talk.google.com", "qxmpp.test1", "qxmpp123", "gmail.com");
    return a.exec();
}
Przy próbie kompilacji dostaję :

Kod: Zaznacz cały

/home/.../Dokumenty/Programowanie/Qt/bot-build-desktop/../bot/main.cpp:14: error: undefined reference to `QXmppLogger::getLogger()'
/home/.../Dokumenty/Programowanie/Qt/bot-build-desktop/../bot/main.cpp:14: error: undefined reference to `QXmppLogger::setLoggingType(QXmppLogger::LoggingType)'
/home/.../Dokumenty/Programowanie/Qt/bot-build-desktop/../bot/main.cpp:15: error: undefined reference to `QXmppClient::QXmppClient(QObject*)'
/home/.../Dokumenty/Programowanie/Qt/bot-build-desktop/../bot/main.cpp:16: error: undefined reference to `QXmppPresence::Status::Status(QXmppPresence::Status::Type, QString, int)'
/home/.../Dokumenty/Programowanie/Qt/bot-build-desktop/../bot/main.cpp:16: error: undefined reference to `QXmppPresence::QXmppPresence(QXmppPresence::Type, QXmppPresence::Status const&)'
.
.
.
/home/.../Dokumenty/Programowanie/Qt/bot-build-desktop/../bot/main.cpp:19: error: undefined reference to `QXmppClient::~QXmppClient()'
:: error: collect2: ld returned 1 exit status
Będę wdzięczny za wszelką pomoc.
Ostatnio zmieniony 11 maja 2011, 16:26 przez Fr3on, łącznie zmieniany 1 raz.
bigfun
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 109
Rejestracja: 20 mar 2011, 19:08
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Warszawa
Kontakt:

Re: [Qt] QXmpp - ciągle ten sam błąd : "error: undefined reference to ..."

Post autor: bigfun »

Kod: Zaznacz cały

#include "qxmpp/QXmppClient.h"
#include "qxmpp/QXmppLogger.h"
Odwołujesz się do plików nagłówkowych lokalnie w katalogu, rozumiem, że w takim razie ściągnąłeś źródła tej biblioteki, nie instalowałeś w formie paczki w systemie (paczka libqxmpp-dev).
A Zbudowałeś ją? Jeśli tak, to z jakiegoś powodu linker nie widzi bibliotek, wrzuć Makefile, który wygenerował Ci qmake.
"Never argue with idiot. He will drag you down to his level and then beat with experience."

Nie udzielam pomocy poza forum.
Awatar użytkownika
Fr3on
Sędziwy Jeż
Sędziwy Jeż
Posty: 34
Rejestracja: 26 kwie 2009, 10:03
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Re: [Qt] QXmpp - ciągle ten sam błąd : "error: undefined reference to ..."

Post autor: Fr3on »

Kod: Zaznacz cały

#############################################################################
# Makefile for building: qxmpp
# Generated by qmake (2.01a) (Qt 4.7.0) on: ?r. maj 11 07:26:53 2011
# Project:  qxmpp.pro
# Template: subdirs
# Command: /usr/bin/qmake -o Makefile qxmpp.pro
#############################################################################

first: make_default
MAKEFILE      = Makefile
QMAKE         = /usr/bin/qmake
DEL_FILE      = rm -f
CHK_DIR_EXISTS= test -d
MKDIR         = mkdir -p
COPY          = cp -f
COPY_FILE     = $(COPY)
COPY_DIR      = $(COPY) -r
INSTALL_FILE  = install -m 644 -p
INSTALL_PROGRAM = install -m 755 -p
INSTALL_DIR   = $(COPY_DIR)
DEL_FILE      = rm -f
SYMLINK       = ln -f -s
DEL_DIR       = rmdir
MOVE          = mv -f
CHK_DIR_EXISTS= test -d
MKDIR         = mkdir -p
SUBTARGETS    =  \
		sub-src \
		sub-tests \
		sub-examples \
		sub-doc

src//$(MAKEFILE): 
	@$(CHK_DIR_EXISTS) src/ || $(MKDIR) src/ 
	cd src/ && $(QMAKE) /home/fr3on/Desktop/qxmpp-0.3.0/src/src.pro -o $(MAKEFILE)
sub-src-qmake_all:  FORCE
	@$(CHK_DIR_EXISTS) src/ || $(MKDIR) src/ 
	cd src/ && $(QMAKE) /home/fr3on/Desktop/qxmpp-0.3.0/src/src.pro -o $(MAKEFILE)
sub-src: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE)
sub-src-make_default-ordered: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE) 
sub-src-make_default: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE) 
sub-src-make_first-ordered: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE) first
sub-src-make_first: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE) first
sub-src-all-ordered: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE) all
sub-src-all: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE) all
sub-src-clean-ordered: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE) clean
sub-src-clean: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE) clean
sub-src-distclean-ordered: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE) distclean
sub-src-distclean: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE) distclean
sub-src-install_subtargets-ordered: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE) install
sub-src-install_subtargets: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE) install
sub-src-uninstall_subtargets-ordered: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE) uninstall
sub-src-uninstall_subtargets: src//$(MAKEFILE) FORCE
	cd src/ && $(MAKE) -f $(MAKEFILE) uninstall
tests//$(MAKEFILE): 
	@$(CHK_DIR_EXISTS) tests/ || $(MKDIR) tests/ 
	cd tests/ && $(QMAKE) /home/fr3on/Desktop/qxmpp-0.3.0/tests/tests.pro -o $(MAKEFILE)
sub-tests-qmake_all:  FORCE
	@$(CHK_DIR_EXISTS) tests/ || $(MKDIR) tests/ 
	cd tests/ && $(QMAKE) /home/fr3on/Desktop/qxmpp-0.3.0/tests/tests.pro -o $(MAKEFILE)
sub-tests: tests//$(MAKEFILE) FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE)
sub-tests-make_default-ordered: tests//$(MAKEFILE) sub-src-make_default-ordered  FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE) 
sub-tests-make_default: tests//$(MAKEFILE) FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE) 
sub-tests-make_first-ordered: tests//$(MAKEFILE) sub-src-make_first-ordered  FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE) first
sub-tests-make_first: tests//$(MAKEFILE) FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE) first
sub-tests-all-ordered: tests//$(MAKEFILE) sub-src-all-ordered  FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE) all
sub-tests-all: tests//$(MAKEFILE) FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE) all
sub-tests-clean-ordered: tests//$(MAKEFILE) sub-src-clean-ordered  FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE) clean
sub-tests-clean: tests//$(MAKEFILE) FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE) clean
sub-tests-distclean-ordered: tests//$(MAKEFILE) sub-src-distclean-ordered  FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE) distclean
sub-tests-distclean: tests//$(MAKEFILE) FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE) distclean
sub-tests-install_subtargets-ordered: tests//$(MAKEFILE) sub-src-install_subtargets-ordered  FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE) install
sub-tests-install_subtargets: tests//$(MAKEFILE) FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE) install
sub-tests-uninstall_subtargets-ordered: tests//$(MAKEFILE) sub-src-uninstall_subtargets-ordered  FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE) uninstall
sub-tests-uninstall_subtargets: tests//$(MAKEFILE) FORCE
	cd tests/ && $(MAKE) -f $(MAKEFILE) uninstall
examples//$(MAKEFILE): 
	@$(CHK_DIR_EXISTS) examples/ || $(MKDIR) examples/ 
	cd examples/ && $(QMAKE) /home/fr3on/Desktop/qxmpp-0.3.0/examples/examples.pro -o $(MAKEFILE)
sub-examples-qmake_all:  FORCE
	@$(CHK_DIR_EXISTS) examples/ || $(MKDIR) examples/ 
	cd examples/ && $(QMAKE) /home/fr3on/Desktop/qxmpp-0.3.0/examples/examples.pro -o $(MAKEFILE)
sub-examples: examples//$(MAKEFILE) FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE)
sub-examples-make_default-ordered: examples//$(MAKEFILE) sub-tests-make_default-ordered  FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE) 
sub-examples-make_default: examples//$(MAKEFILE) FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE) 
sub-examples-make_first-ordered: examples//$(MAKEFILE) sub-tests-make_first-ordered  FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE) first
sub-examples-make_first: examples//$(MAKEFILE) FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE) first
sub-examples-all-ordered: examples//$(MAKEFILE) sub-tests-all-ordered  FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE) all
sub-examples-all: examples//$(MAKEFILE) FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE) all
sub-examples-clean-ordered: examples//$(MAKEFILE) sub-tests-clean-ordered  FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE) clean
sub-examples-clean: examples//$(MAKEFILE) FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE) clean
sub-examples-distclean-ordered: examples//$(MAKEFILE) sub-tests-distclean-ordered  FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE) distclean
sub-examples-distclean: examples//$(MAKEFILE) FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE) distclean
sub-examples-install_subtargets-ordered: examples//$(MAKEFILE) sub-tests-install_subtargets-ordered  FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE) install
sub-examples-install_subtargets: examples//$(MAKEFILE) FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE) install
sub-examples-uninstall_subtargets-ordered: examples//$(MAKEFILE) sub-tests-uninstall_subtargets-ordered  FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE) uninstall
sub-examples-uninstall_subtargets: examples//$(MAKEFILE) FORCE
	cd examples/ && $(MAKE) -f $(MAKEFILE) uninstall
doc//$(MAKEFILE): 
	@$(CHK_DIR_EXISTS) doc/ || $(MKDIR) doc/ 
	cd doc/ && $(QMAKE) /home/fr3on/Desktop/qxmpp-0.3.0/doc/doc.pro -o $(MAKEFILE)
sub-doc-qmake_all:  FORCE
	@$(CHK_DIR_EXISTS) doc/ || $(MKDIR) doc/ 
	cd doc/ && $(QMAKE) /home/fr3on/Desktop/qxmpp-0.3.0/doc/doc.pro -o $(MAKEFILE)
sub-doc: doc//$(MAKEFILE) FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE)
sub-doc-make_default-ordered: doc//$(MAKEFILE) sub-examples-make_default-ordered  FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE) 
sub-doc-make_default: doc//$(MAKEFILE) FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE) 
sub-doc-make_first-ordered: doc//$(MAKEFILE) sub-examples-make_first-ordered  FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE) first
sub-doc-make_first: doc//$(MAKEFILE) FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE) first
sub-doc-all-ordered: doc//$(MAKEFILE) sub-examples-all-ordered  FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE) all
sub-doc-all: doc//$(MAKEFILE) FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE) all
sub-doc-clean-ordered: doc//$(MAKEFILE) sub-examples-clean-ordered  FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE) clean
sub-doc-clean: doc//$(MAKEFILE) FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE) clean
sub-doc-distclean-ordered: doc//$(MAKEFILE) sub-examples-distclean-ordered  FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE) distclean
sub-doc-distclean: doc//$(MAKEFILE) FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE) distclean
sub-doc-install_subtargets-ordered: doc//$(MAKEFILE) sub-examples-install_subtargets-ordered  FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE) install
sub-doc-install_subtargets: doc//$(MAKEFILE) FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE) install
sub-doc-uninstall_subtargets-ordered: doc//$(MAKEFILE) sub-examples-uninstall_subtargets-ordered  FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE) uninstall
sub-doc-uninstall_subtargets: doc//$(MAKEFILE) FORCE
	cd doc/ && $(MAKE) -f $(MAKEFILE) uninstall

Makefile: qxmpp.pro  /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4/mkspecs/common/g++.conf \
		/usr/share/qt4/mkspecs/common/unix.conf \
		/usr/share/qt4/mkspecs/common/linux.conf \
		/usr/share/qt4/mkspecs/qconfig.pri \
		/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \
		/usr/share/qt4/mkspecs/features/qt_functions.prf \
		/usr/share/qt4/mkspecs/features/qt_config.prf \
		/usr/share/qt4/mkspecs/features/exclusive_builds.prf \
		/usr/share/qt4/mkspecs/features/default_pre.prf \
		qxmpp.pri \
		/usr/share/qt4/mkspecs/features/release.prf \
		/usr/share/qt4/mkspecs/features/default_post.prf \
		/usr/share/qt4/mkspecs/features/warn_on.prf \
		/usr/share/qt4/mkspecs/features/qt.prf \
		/usr/share/qt4/mkspecs/features/unix/thread.prf \
		/usr/share/qt4/mkspecs/features/moc.prf \
		/usr/share/qt4/mkspecs/features/resources.prf \
		/usr/share/qt4/mkspecs/features/uic.prf \
		/usr/share/qt4/mkspecs/features/yacc.prf \
		/usr/share/qt4/mkspecs/features/lex.prf \
		/usr/share/qt4/mkspecs/features/include_source_dir.prf
	$(QMAKE) -o Makefile qxmpp.pro
/usr/share/qt4/mkspecs/common/g++.conf:
/usr/share/qt4/mkspecs/common/unix.conf:
/usr/share/qt4/mkspecs/common/linux.conf:
/usr/share/qt4/mkspecs/qconfig.pri:
/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri:
/usr/share/qt4/mkspecs/features/qt_functions.prf:
/usr/share/qt4/mkspecs/features/qt_config.prf:
/usr/share/qt4/mkspecs/features/exclusive_builds.prf:
/usr/share/qt4/mkspecs/features/default_pre.prf:
qxmpp.pri:
/usr/share/qt4/mkspecs/features/release.prf:
/usr/share/qt4/mkspecs/features/default_post.prf:
/usr/share/qt4/mkspecs/features/warn_on.prf:
/usr/share/qt4/mkspecs/features/qt.prf:
/usr/share/qt4/mkspecs/features/unix/thread.prf:
/usr/share/qt4/mkspecs/features/moc.prf:
/usr/share/qt4/mkspecs/features/resources.prf:
/usr/share/qt4/mkspecs/features/uic.prf:
/usr/share/qt4/mkspecs/features/yacc.prf:
/usr/share/qt4/mkspecs/features/lex.prf:
/usr/share/qt4/mkspecs/features/include_source_dir.prf:
qmake: qmake_all FORCE
	@$(QMAKE) -o Makefile qxmpp.pro

qmake_all: sub-src-qmake_all sub-tests-qmake_all sub-examples-qmake_all sub-doc-qmake_all FORCE

make_default: sub-src-make_default-ordered sub-tests-make_default-ordered sub-examples-make_default-ordered sub-doc-make_default-ordered FORCE
make_first: sub-src-make_first-ordered sub-tests-make_first-ordered sub-examples-make_first-ordered sub-doc-make_first-ordered FORCE
all: sub-src-all-ordered sub-tests-all-ordered sub-examples-all-ordered sub-doc-all-ordered FORCE
clean: sub-src-clean-ordered sub-tests-clean-ordered sub-examples-clean-ordered sub-doc-clean-ordered FORCE
distclean: sub-src-distclean-ordered sub-tests-distclean-ordered sub-examples-distclean-ordered sub-doc-distclean-ordered FORCE
	-$(DEL_FILE) Makefile
install_subtargets: sub-src-install_subtargets-ordered sub-tests-install_subtargets-ordered sub-examples-install_subtargets-ordered sub-doc-install_subtargets-ordered FORCE
uninstall_subtargets: sub-src-uninstall_subtargets-ordered sub-tests-uninstall_subtargets-ordered sub-examples-uninstall_subtargets-ordered sub-doc-uninstall_subtargets-ordered FORCE

dist: docs
	$(DEL_FILE) -r qxmpp-0.3.0 && svn export . qxmpp-0.3.0 && $(COPY_DIR) doc/html qxmpp-0.3.0/doc && tar czf qxmpp-0.3.0.tar.gz qxmpp-0.3.0 && $(DEL_FILE) -r qxmpp-0.3.0

docs:
	$(MAKE) -C doc docs

sub-src-check_ordered: src/$(MAKEFILE)
	cd src/ && $(MAKE) check
sub-tests-check_ordered: tests/$(MAKEFILE) sub-src-check_ordered 
	cd tests/ && $(MAKE) check
sub-examples-check_ordered: examples/$(MAKEFILE) sub-tests-check_ordered 
	cd examples/ && $(MAKE) check
sub-doc-check_ordered: doc/$(MAKEFILE) sub-examples-check_ordered 
	cd doc/ && $(MAKE) check
check: sub-src-check_ordered sub-tests-check_ordered sub-examples-check_ordered sub-doc-check_ordered

mocclean: compiler_moc_header_clean compiler_moc_source_clean

mocables: compiler_moc_header_make_all compiler_moc_source_make_all
install_htmldocs: FORCE
	@$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/share/doc/qxmpp/ || $(MKDIR) $(INSTALL_ROOT)/usr/share/doc/qxmpp/ 
	-$(INSTALL_DIR) /home/fr3on/Desktop/qxmpp-0.3.0/doc/html $(INSTALL_ROOT)/usr/share/doc/qxmpp/


uninstall_htmldocs:  FORCE
	-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/doc/qxmpp/html
	-$(DEL_DIR) $(INSTALL_ROOT)/usr/share/doc/qxmpp/ 


install: install_subtargets install_htmldocs  FORCE

uninstall: uninstall_htmldocs  uninstall_subtargets FORCE

FORCE:
Z paczką z repozytorium miałem te same problemy
Awatar użytkownika
Struchu
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 116
Rejestracja: 23 mar 2008, 19:58
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86

Re: [Qt] QXmpp - ciągle ten sam błąd : "error: undefined reference to ..."

Post autor: Struchu »

Do pliku projektu Qt dodaj linię:

Kod: Zaznacz cały

LIBS += -lqxmpp
Awatar użytkownika
Fr3on
Sędziwy Jeż
Sędziwy Jeż
Posty: 34
Rejestracja: 26 kwie 2009, 10:03
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Re: [Qt] QXmpp - ciągle ten sam błąd : "error: undefined reference to ..."

Post autor: Fr3on »

Dzięki Ci dobry człowieku, już wszystko działa :)
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 10 gości