Autotools-Problem
-
Hallo Leute,
nachdem ich mein Problem in einem anderen Linux-Forum gepostet habe, jedoch keinerlei Antwort bekommen habe, poste ich es mal hier:
Ich habe ein kleines Programm geschrieben. Dies möchte ich jetzt mit den autotools so "aufbereiten", damit es auf jedem Linux kompiliert und installiert werden kann. Soweit so gut, habe mir verschiedene Tutorials angesehen, wenn ich jedoch nach dem './configure'-Aufruf 'make' ausführe bekomme ich einen seltsamen Fehler.
Hier mal die Schritte, die ich gehe, im Detail:
1. 'autoscan', configure.scan umbenannt in configure.ac und den Inhalt auf das folgende geändert:
# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.65) AC_INIT(RRipper, 0.9.2, 0) AM_INIT_AUTOMAKE(@RRipper@,@0.9.2@) AC_CONFIG_SRCDIR(mainwindow.h) AC_CONFIG_HEADERS(config.h) # Checks for programs. AC_PROG_CXX AC_PROG_CC # Checks for libraries. # Checks for header files. # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STDBOOL # Checks for library functions. AC_CHECK_FUNCS(mkdir rmdir) AC_CONFIG_FILES(Makefile) AC_OUTPUT
2. Erstelle Makefile.am mit folgendem Inhalt:
# Makefile.am bin_PROGRAMS = rripper rripper_SOURCES = main.cpp mainwindow.cpp mainwindow.h
3. aclocal
4. autoheader
5. autoconf
6. automake -a
Wenn ich nun ./configure ausführe, bekomme ich keinerlei Fehlermeldungen, es läuft sauber durch. Wenn ich dann jedoch 'make' aufrufe, bekomme ich folgenden Fehler:
$ make make all-am make[1]: Entering directory `/home/jesusfreak/c++/qt4/RRipper' g++ -DHAVE_CONFIG_H -I. -g -O2 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.cpp In file included from main.cpp:2:0: mainwindow.h:6:16: schwerwiegender Fehler: QMap: Datei oder Verzeichnis nicht gefunden Kompilierung beendet. make[1]: *** [main.o] Fehler 1 make[1]: Leaving directory `/home/jesusfreak/c++/qt4/RRipper_cofigure' make: *** [all] Fehler 2
Wieso findet er die Header-Dateien nicht? Ich vermute, dass die Lösung wahrscheinlich recht simpel ist, jedoch habe ich keine Lösung dazu finden können.
Danke für jede Hilfe!!
jesusfreak
-
Wenn du Qt verwenden willst, solltest du auch dafür sorgen, dass du es in deinem Configure-Skript korrekt einrichtest, bevor du es verwendest. Außerdem musst du in deinem Makefile wahrscheinlich die Aufrufe zu zum Qt-Präprozessor einfügen.