zoukankan      html  css  js  c++  java
  • 第一个GTK程序:中国农历 附录4 动态库

    我们的程序也没有使用到动态库,动态库的支持相对于静态库,要复杂许多,

    动态库与静态库在一些变量名字上有不同,比如LTLIBRARIES/

    通常,我们是使用libtool来创建动态库,在automake中使用libtool创建动态库时,使用的扩展名并不是so,而是la

    比如我们声明创建一个动态库:

         lib_LTLIBRARIES = libgettext.la
         libgettext_la_SOURCES = gettext.c gettext.h ...

    automake预定义了pkglibdir变量,因此可以使用pkglib_LTLIBRARIES将之安装在$(libdir)/@PACKAGE@/目录下

    使用动态库时,应如下使用

         bin_PROGRAMS = hello
         hello_SOURCES = hello.c ...
         hello_LDADD = libgettext.la

    这么写因为根据configure的选项,是可以禁止生成动态库的,那这时候,我们链接到的将会是libtool生成的静态库

    无论静态库还是动态库,在使用libtool时,调用automake之前必须调用libtoolize以建一些automake必备的文件

  • 相关阅读:
    【转】C++11优化使用emplace,emplace_back
    面试经历总结
    Hive常用函数
    股票指标
    Visual Studio Code 可以翻盘成功主要是因为什么?
    openpyxl模块操作Excel
    JavaScript(二)
    前端之CSS
    ps导出ICO格式
    Qt 所有版本官方下载地址
  • 原文地址:https://www.cnblogs.com/eaglexmw/p/3034286.html
Copyright © 2011-2022 走看看