Re: trauma spliting source into multiple files and applying autotools
- From: Mick <mickhowe bigpond net au>
- To: gtk-app-devel-list gnome org
- Cc: braden endoframe com
- Subject: Re: trauma spliting source into multiple files and applying autotools
- Date: Tue, 21 Jul 2009 12:20:49 +1000
On Mon, 20 Jul 2009 12:17:32 -0400
Braden McDaniel <braden endoframe com> wrote:
On Mon, 2009-07-20 at 11:22 +1000, Mick wrote:
[snip]
compiling with:
gcc -Wall -g -o tutor main.c -export-dynamic `pkg-config --cflags
--libs gtk+-2.0` produces an executable that runs just as expected.
When I split the .c file into the main function as main.c and the
'callbacks' into callback.c and create the Makefile.am,
configure.in, etc compilation runs without error and the exec runs
but hangs after displaying: Gtk-CRITICAL **: gtk_widget_show:
assertion `GTK_IS_WIDGET (widget)' failed
on:
gtk_widget_show(chat_window);
Thanks for your help and critique, I've taken your advice on board:
You need to add -export-dynamic to AM_LDFLAGS in Makefile.am.
src/Makefile.am
<code>
bin_PROGRAMS = nuchimp
nuchimp_SOURCES = \
callback.c callback.h \
main.c main.h
AM_CPPFLAGS $(GTK_CFLAGS)
AM_LDFLAGS -export-dynamic
</code>
configure.ac
<code>
AC_PREREQ([2.63])
AC_INIT([nuchimp], [0.1], [cheifchimp myemail])
AM_INIT_AUTOMAKE
AC_PREFIX_DEFAULT([$HOME])
AC_CONFIG_SRCDIR([config.h.in])
AC_CONFIG_HEADERS([config.h])
# Checks for programs.
AC_PROG_CC
CFLAGS="-Wall -g -O2"
# Checks for libraries.
PKG_CHECK_MODULES([GTK], [gtk+-2.0 >= 2.2])
AC_CONFIG_FILES([Makefile
src/Makefile])
AC_OUTPUT
</code>
src/Makefile.am
<code>
bin_PROGRAMS = nuchimp
nuchimp_SOURCES = \
callback.c callback.h \
main.c main.h
AM_CPPFLAGS $(GTK_CFLAGS)
AM_LDFLAGS -export-dynamic
</code>
CLEANFILES = *~
removed
DISTCLEANFILES = .deps/*.P
removed
these 2 lines were in a sample I found
top level Makefile.am
<code>
## Process this file with automake to produce Makefile.in
SUBDIRS = src
</code>
I now get a make error:
*** missing separator: stop
pointing to the 2nd line of:
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c > $(distdir).tar.bz2
$(am__remove_distdir)
I removed several paragraphs that defined install/uninstall after
getting this error but it remains.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]