My Gtk Tutorial 4

其实说到这里,我才发现,你可能压根还不知道如何开始一个项目。

当然最简单的办法之一,就是让半残的anjuta替你建立一个gtk项目的skeleton,然后把他扔一边,继续用你的vim,emacs去。

不过在这么多年之后,其实我已经不会写autotools的代码了,那么下面我就无聊来介绍下怎么用CMake和Gtk。

关于我曾经的CMake介绍,可以参考这里。

https://www.csslayer.info/wordpress/category/cmake/

有些人喜欢录视频写代码?这次录个视频好了。

代码下载:

gtk_test.tar.gz

P. S.

也许这篇文章会勾引出一些严重的autotools粉,例如啊glib/gtk的项目都是用autotools啊,glib/gtk项目用autotools集成好啊。我用了这么多年现在早忘了autotools 怎么写了,我写不出来,就这样。

构建脚本用什么写都没本质差别。照样有人用cmake生成GObjectIntrospection(附注:第一个这么干的当然不是我)。

This entry was posted in Gtk. Bookmark the permalink.

8 Responses to My Gtk Tutorial 4

  1. cnzh2005 says:
    Google Chrome 19.0.1084.46 GNU/Linux

    一刷新又一篇~~4

    [Reply]
  2. SuperCat says:
    Firefox 13.0 GNU/Linux x64

    GTK+的项目的确用autotools的优势比较大,官方提供了很多工具的。包括GIR的支持,提供了一些m4脚本。用其它的工具并非不可行(就如本文的例子),只是增加一些工作量和维护难度罢了。

    [Reply]
  3. csslayer says:
    Firefox 14.0a2 Windows 7

    @SuperCat 写习惯了cmake看着autotools隐隐蛋疼……
    这么写的不看着更清爽吗?

    gobject_introspection(
    FILENAME Fcitx-1.0.gir
    NSVERSION 1.0
    INCLUDE Gio-2.0 GObject-2.0 GLib-2.0
    PACKAGE_EXPORT fcitx-gclient
    LIBRARY fcitx-gclient
    SCANNER_ARGS –warn-all –add-include-path=${CMAKE_CURRENT_SOURCE_DIR}
    COMPILER_ARGS “–includedir=${CMAKE_CURRENT_SOURCE_DIR}”
    SYMBOL_PREFIXES fcitx
    SOURCES ${FCITX_GCLIENT_SOURCES} ${FCITX_GCLIENT_HEADERS}
    )

    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Fcitx-1.0.gir DESTINATION ${GOBJECT_INTROSPECTION_GIRDIR})
    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Fcitx-1.0.typelib DESTINATION ${GOBJECT_INTROSPECTION_TYPELIBDIR})

    [Reply]
  4. SuperCat says:
    Firefox 13.0 GNU/Linux x64

    这个其实真没有autotools那个简单,关键是GIR是有官方给的m4的……(如果没有情况就不一样了)。
    其实autotools用下来感觉也还好,用熟了也没感觉太复杂。

    [Reply]
  5. csslayer says:
    Firefox 14.0a2 Windows 7

    @SuperCat 主要是看起来很清晰,不懂cmake你也能看懂这个,不是吗?
    而且cmake大部分脚本都会自带使用文档注释在里面。

    [Reply]
  6. Mike says:
    Firefox 12.0 GNU/Linux x64

    其實我想問怎麼搞 GNU gettext 和 Gtk-Doc

    [Reply]
  7. 右京样一 says:
    Firefox 13.0 GNU/Linux

    其实,我特别喜欢qmake那种可以配置得特别简单的……当然原因主要是我写不来大项目。

    [Reply]
  8. Mike says:
    Firefox 14.0.1 FreeBSD

    不行,我得吐槽視頻看起來相當不方便。

    [Reply]

Leave a Reply

Your email address will not be published. Required fields are marked *

Note: Commenter is allowed to use '@User+blank' to automatically notify your reply to other commenter. e.g, if ABC is one of commenter of this post, then write '@ABC '(exclude ') will automatically send your comment to ABC. Using '@all ' to notify all previous commenters. Be sure that the value of User should exactly match with commenter's name (case sensitive).

This site uses Akismet to reduce spam. Learn how your comment data is processed.