LINUX.ORG.RU

Autotools versus QT


0

0

Здравствуйте!
Проблема следующая - пытаюсь подружить Autotools с QT. Делаю вроде все, как написано тут - http://www.tsunanet.net/autotroll. Но "./configure" утверждает, что "AT_WITH_QT command not found". Соответственно, make не может найти путей к файлам библиотеки.

файл configure.in
//======================================
AC_INIT(configure.in)
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([foreign -Wall])

AM_CONFIG_HEADER(config.h)

AC_LANG_CPLUSPLUS
AC_PROG_CXX
AM_PROG_LIBTOOL

AT_WITH_QT

# Checks for header files.
AC_CHECK_HEADERS([netinet/in.h socket.h])

AC_CONFIG_FILES([test.sh], [chmod a=rx test.sh])

AC_OUTPUT(Makefile src/Makefile)
//======================================


глобальный Makefile.am
//=====================================
# not a GNU package. You can remove this line, if
# have all needed files, that a GNU package needs
AUTOMAKE_OPTIONS = foreign 1.4

#ACLOCAL_AMFLAGS = -I

SUBDIRS = src
EXTRA_DIST = bootstrap /test.sh
//=====================================


Makefile.am в /src
//=====================================
bin_PROGRAMS = test_client
#test_server_SOURCES = Client.cpp Client.h main.cpp

# set the include path found by configure
#INCLUDES= $(all_includes)
include $(top_srcdir)/autotroll.mk

# the library search path.
#test_client_LDFLAGS = $(all_libraries)

test_client_SOURCES = Client.cpp Client.h main.cpp moc_Client.cpp net_data.h
test_client_CXXFLAGS = $(QT_CXXFLAGS) $(AM_CXXFLAGS)
test_client_CPPFLAGS = $(QT_CPPFLAGS) $(AM_CPPFLAGS)
test_client_LDFLAGS = $(QT_LDFLAGS) $(LDFLAGS)
test_client_LDADD = $(QT_LIBS) $(LDADD)

BUILT_SOURCES = moc_Client.cpp
//=====================================


Help!!!!!!

Ответ на: комментарий от LebedevRI

Поддерживаю, забудь про этот убогий пережиток прошлого и используй cmake, ну на крайняк - qmake.

anotheranonymous
()
Ответ на: комментарий от LebedevRI

Ну это знаете ли требование. Так что я б с радостью забил, ибо убил на это уже часа 4... Причем, приложение без QT я все-таки одолел - ./configure, make, make install все делают, как надо. Так что вопрос в силе!

bodunoff
() автор топика

>Но "./configure" утверждает, что "AT_WITH_QT command not found".

А мой libastral.so советует тебе хорошенько посмотреть на вывод autoconf, затем сделать каталог m4, куда поместить все автотрольные файлы, и перезапустить autoconf -I m4.

linuxfan
()
Ответ на: комментарий от linuxfan

Спасибо... попробую.. Просто с autotools-ом первый раз (и, надеюсь, последний) столкнулся 2 дня назад. По-моему, чтоб такое придумать, надо употреблять вещества...

bodunoff
() автор топика
Ответ на: комментарий от bodunoff

>По-моему, чтоб такое придумать, надо употреблять вещества...

autotools попытка подправить ограниченность make

dimon555 ★★★★★
()
Ответ на: комментарий от linuxfan

>сделать каталог m4, куда поместить все автотрольные файлы, и перезапустить autoconf -I m4.
Не помогло.
autoconf -I m4 выводит, что "possibly undefine macro AC_PACKAGE_TARNAME и AC_PACKAGE_VARSION". AT_WITH_QT все-равно не находит. Может конечно я криворукий и хромой, но пример отсюда http://www.tsunanet.net/autotroll тож скомпилить не удалось.

bodunoff
() автор топика
Ответ на: комментарий от bodunoff

>Просто с autotools-ом первый раз (и, надеюсь, последний)

На самом деле, все очень просто. Все autotools'ы построены на простой текстовой замене (почти как макросы в C). Как только ты постигнешь глубинную суть идеи текстовой замены, так все тебе покажется простым и естественным.

linuxfan
()
Ответ на: комментарий от kemm

> aclocal -I m4, а потом autoconf.
А вот это помогло. Благодарю.
Теперь последний (наверное) вопрос - каким макросом и в каком файле можно добавить поддержку QtNetwork, а то никак не может найти этот заголовок???

bodunoff
() автор топика
Ответ на: комментарий от bodunoff

Вопрос исчерпан. Надо было повнимательней почитать, что написано в autotroll.m4. Для потомков - QT_WITH_QT(+network) все починил.

bodunoff
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.