Strona 1 z 1

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

: 10 maja 2011, 23:48
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.

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

: 11 maja 2011, 00:25
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.

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

: 11 maja 2011, 07:31
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

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

: 11 maja 2011, 10:44
autor: Struchu
Do pliku projektu Qt dodaj linię:

Kod: Zaznacz cały

LIBS += -lqxmpp

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

: 11 maja 2011, 16:25
autor: Fr3on
Dzięki Ci dobry człowieku, już wszystko działa :)