people ..我正在使用autotools来构建我的gtk2应用程序。我想让它制作跨平台。这是我的configure.ac:
AC_PREREQ([2.67])
AC_INIT([gtk2gifviewer], [1.0.0.0], aullidolunar@gmail.com)
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([main.c])
AM_INIT_AUTOMAKE
AC_PROG_CC
LT_INIT
AC_CHECK_PROG([windres],[windres],[yes],[no])
AM_CONDITIONAL([HAVE_WINDRES], [test "x$windres" = xyes])
PKG_CHECK_MODULES([gtk2], [gtk+-2.0 >= 2.20])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
和我唯一的Makefile.am:
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4
SUFFIXES: .rc
bin_PROGRAMS = gtk2gifviewer
gtk2gifviewer_SOURCES = callbacks.c main.c
EXTRA_DIST = callbacks.h main.xpm main.ico build.txt
if HAVE_WINDRES
gtk2gifviewer_SOURCES += resource.rc
endif
gtk2gifviewer_CFLAGS = $(gtk2_CFLAGS)
gtk2gifviewer_LDADD = $(gtk2_LIBS)
.rc.o:
windres -o $@ $<
run: $(PACKAGE_NAME)$(EXEEXT)
./$<
.PHONY: run
和我的简单资源文件:
#include <windows.h>
app_icon ICON "main.ico"
icon和resource.rc都在同一个文件夹中。在linux机器上按预期构建。在使用msys的Windows中,我可以看到一切正常,没有错误没有警告,但可执行文件没有图标。我可以看到与图标大小相同的resource.o文件。
有什么想法吗?