zoukankan      html  css  js  c++  java
  • 《UNIX环境高级编程第三版》apue.h等源码文件的编译安装

    操作系统:Ubuntu 12/14

    1、下载书中的源代码:点击下载

    2、编译

    tar -zxvf *.tar.gz
    cd ./apue.3e
    make

    报错:

    can,t find -lbsd

    解决办法:

    添加 libbsd.a 的静态链接库

    sudo apt-get install libbsd-dev

    3、继续编译

    make

    4、在编译成功的基础上,安装 apue.h 文件及其对应的静态链接库 libapue.a

    sudo cp ./include/apue.h /usr/local/include/
    sudo cp ./lib/libapue.a /usr/local/lib/

    mac中,拷贝头文件 sudo cp ./include/apue.h /usr/local/include/

    为什么要将 libapue.a 移到 /usr/local/lib 中呢?

    因为 libapue.a 是 apue.h 头文件中包含的所有函数及宏定义的具体实现,是一个静态链接库。

    查看  /etc/ld.so.conf.d/libc.conf 你会发现 gcc 在搜索链接库的时候默认会去搜索  /usr/local/lib/ 中的文件,所以我们将其放在这里,一劳永逸。

    5、环境搭建成功了,开始测试

    gcc 1-3.c -o 1-3 -lapue   #编译时需要链接静态库libapue.a,libapue.a在这里要写成apue,具体的gcc使用规则可以 man 一下

    6、看见1-3执行程序了吧,赶紧执行一下(本例1-3就是书上的第一个程序---ls程序)

    ./1-3 /lib
    

    注意

    libbsd库 需要到 http://pkgs.org/search/?query=libbsd&type=smart 确定下载的版本,执行安装(yum/apt-get)。

    CentOS 6系列/x86_64,安装 libbsd.a,参考代码如下(注意安装顺序不要变):

    yum -y install libbsd-0.6.0-1.el6.art.x86_64.rpm
    yum -y install libbsd-devel-0.6.0-1.el6.art.x86_64.rpm
    

    参考:

    http://blog.csdn.net/freestyle4568world/article/details/39269129

    http://albertcn.blog.163.com/blog/static/209420145201410542016796


    CLion 的 CMakeLists.txt 文件内容参考如下:

    cmake_minimum_required(VERSION 2.8)
    project(apue)

    set(SOURCE_FILES main.c)
    add_executable(main ${SOURCE_FILES})

    include_directories(/usr/local/include)
    target_link_libraries(main /usr/local/lib/libapue.a)

  • 相关阅读:
    在Window上Vim包的选择
    如何在apache官网下载将将jar包
    hdu1870
    hdu1710(Binary Tree Traversals)
    poj 3252 Round Numbers 【推导·排列组合】
    3905
    Find them, Catch them
    Argus
    Team Queue
    Terrible Sets
  • 原文地址:https://www.cnblogs.com/52php/p/5681701.html
Copyright © 2011-2022 走看看