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