unix环境高级编程(第三版)中apue.h文件的配置问题
2016-04-04 16:40
441 查看
最近刚开始学习unix环境高级编程(第三版),其中有个作者自己写的apue.h文件,在这归总下相应的配置方法,希望对有需要的朋友们有所帮助
首先http://www.apuebook.com/code3e.html 上去下载相应的压缩包,注意自己书的版本。
下载完成之后,鉴于大多数朋友学习linux都是基于虚拟机的,所以顺便附上虚拟机与本地主机传输文件的方式
首先下载SSH Secure Shell 这个工具,然后直接点击quick connect,
![](https://oscdn.geek-share.com/Uploads/Images/Content/201604/80e98ba11fa81c968d9429858b5d5086)
弹出如下界面,输入虚拟机的ip地址,和登录用户名,然后输入密码即可进行传输文件。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201604/70b866e58c14ba0c9ad489d85efe79f4)
在linux虚拟机中使用ifconfig中获得虚拟机的ip地址。使用这个工具的前提之一是linux虚拟机安装了ssh服务并且启动,我自己的虚拟机是ubuntu12.0.4。
相应的命令分别是:
安装ssh服务:apt-get install openssh-server
启动ssh服务:service ssh start
/etc/init.d/ssh start
在这之后就可以通过ssh工具连接本地和虚拟机了,可以进行传输文件的工作了。如下图
![](https://oscdn.geek-share.com/Uploads/Images/Content/201604/d1bd1f8534d92b1ad1f6184e37970c72)
在文件传输完毕之后,就可以在虚拟机中看到src.3e.tar.gz这个压缩包了,解压该压缩包,tar -zxvf src.3e.tar.gz,之后得到apue.3这个文件夹,进入该文件夹,执行make命令,如果出错的话,可能是因为libbsd这个库没装,使用命令apt-get install libbsd-dev进行安装,之后进行make成功。在这之后,将apue.3文件夹中的头文件和库文件拷贝到相应的位置 cp ./include/apue.h /usr/include/ cp ./lib/libapue.a
/usr/local/lib/。完成这些工作之后,我们就可以正常编译书中的例子了
gcc -o 1-3 1-3.c -lapue;链接到相应的库即可。
首先http://www.apuebook.com/code3e.html 上去下载相应的压缩包,注意自己书的版本。
下载完成之后,鉴于大多数朋友学习linux都是基于虚拟机的,所以顺便附上虚拟机与本地主机传输文件的方式
首先下载SSH Secure Shell 这个工具,然后直接点击quick connect,
弹出如下界面,输入虚拟机的ip地址,和登录用户名,然后输入密码即可进行传输文件。
在linux虚拟机中使用ifconfig中获得虚拟机的ip地址。使用这个工具的前提之一是linux虚拟机安装了ssh服务并且启动,我自己的虚拟机是ubuntu12.0.4。
相应的命令分别是:
安装ssh服务:apt-get install openssh-server
启动ssh服务:service ssh start
/etc/init.d/ssh start
在这之后就可以通过ssh工具连接本地和虚拟机了,可以进行传输文件的工作了。如下图
在文件传输完毕之后,就可以在虚拟机中看到src.3e.tar.gz这个压缩包了,解压该压缩包,tar -zxvf src.3e.tar.gz,之后得到apue.3这个文件夹,进入该文件夹,执行make命令,如果出错的话,可能是因为libbsd这个库没装,使用命令apt-get install libbsd-dev进行安装,之后进行make成功。在这之后,将apue.3文件夹中的头文件和库文件拷贝到相应的位置 cp ./include/apue.h /usr/include/ cp ./lib/libapue.a
/usr/local/lib/。完成这些工作之后,我们就可以正常编译书中的例子了
gcc -o 1-3 1-3.c -lapue;链接到相应的库即可。
相关文章推荐
- Espresso自动化测试(十三)- UiAutomator2与Espresso的结合
- Arduino在ROS中的应用
- Activity中UI框架基本概念
- EasyUI Datagrid JSON对象内嵌对象的取值问题
- SIP请求消息类型与应答码
- Android UI基础——TextSwitcher&ImageSwitcher控件
- quicksort my impletation
- execute、executeQuery和executeUpdate之间的区别
- maven之 build lifecycle
- LeetCode 60: Permutation Sequence
- Android Gradle Plugin指南(五)——Build Variants(构建变种版本)
- Android学习笔记---第三天---基础UI组件---Button&ImageButton
- 62. Unique Paths
- POJ 1679 The Unique MST(判断最小生成树是否唯一)
- 深度学习Deep learning From Image to Sequence
- jquey的 ajax请求的几种方式
- lintcode-medium-Permutation Sequence
- 理解requirejs的几个重要点
- HDU 3726 Graph and Queries(treap)
- Android UI基础——SeekBar&RatingBar控件