1、在目录下新建几个工程需要的测试文件

foo.cpp

#include <gtkmm.h>

int main(int argc, char** argv)
{
        auto app = Gtk::Application::create(argc, argv);

        Gtk::Window window;
        window.set_default_size(600,400);

        return app->run(window);
}

2、生成configure

$ autoscan

3、修改configure.scan并重命名为configure.ac

#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.69])
AC_INIT(foo, 1.0, youlv@foxmail.com)
AM_INIT_AUTOMAKE(foo, 1.0)
AC_CONFIG_SRCDIR([foo.cpp])
AC_CONFIG_HEADERS([config.h])

# Checks for programs.
AC_PROG_CXX

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_CONFIG_FILES([Makefile])
AC_OUTPUT

4、执行命令aclocal和autoconf,分别会产生aclocal.m4及configure两个文件:

$ aclocal
$ autoconf

5、用命令autoheader产生configure.h.in

$ autoheader

6、新建 Makefile.am 文件

CXXFLAGS 表示用于 C++ 编译器的选项
LIBS是告诉链接器要链接哪些库文件
在LIBS选项上加上 -mwindows 去掉gtk程序的dos框

AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS = foo
foo_SOURCES = foo.cpp
AM_CPPFLAGS= `pkg-config --cflags gtkmm-3.0` 
LIBS = `pkg-config --libs gtkmm-3.0` -mwindows

7、运行automake

$ automake --add-missing

8、生成Makefile文件

$ ./configure

9、make编译代码

$ make

10、make install安装

$ make install

11、打包

$ make clean
$ make dist

作者:greatyoulv
https://blog.csdn.net/greatyoulv/article/details/112758642