《UNIX环境高级编程第三版》apue.h等源码文件的编译安装【转】

本文转载自:http://www.cnblogs.com/52php/p/5681701.html

操作系统:Ubuntu 12/14

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

2、编译

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

报错:

can,t find -lbsd

解决办法:

添加 libbsd.a 的静态链接库

1
sudo  apt-get  install  libbsd-dev

3、继续编译

1
make

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

1
2
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、环境搭建成功了,开始测试

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

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

1
. /1-3  /lib

 

注意

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

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

1
2
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)

转载于:https://www.cnblogs.com/zzb-Dream-90Time/p/6929613.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值