《UNIX環境高階程式設計》apue原始碼Ubuntu下的編譯
在編譯書中例程時,常會報錯,主要問題是以下兩句程式碼
- #include"apue.h"
這兩個標頭檔案並非Ubuntu系統自帶的,是《UNIX環境高階程式設計》作者自己編寫的用於定義及報錯的標頭檔案
解決方法:
1--下載APUE的程式碼(http://www.apuebook.com/src.tar.gz)並解壓,筆者的目標地址為/home/jimmy/p2p/apue.2e
2--開啟解壓出來的README檔案,按照“To build the source, edit the Make.defines.* file for your system and set
WKDIR to the pathname of the tree containing the source code. Then just
run "make".說明修改Make.defines.linux 中的WKDIR,改為WKDIR=/home/jimmy/p2p/apue.2e
3--make 。
- jimmy@MyPet:~$ cd /home/jimmy/p2p/apue.2e
- jimmy@MyPet:~/p2p/apue.2e$ make^C
4--把/home/jimmy/p2p/apue.2e/include資料夾下的apue.h放到要編譯的原始碼的相同目錄下,但是筆者建議直接複製到/usr/include下,一勞永逸!
5--把lib資料夾中生成的alibapue.a放到要編譯的原始碼相同目錄下,否則在gcc 或者cc 程式碼時,會報如下錯誤
undefined reference to `err_quit'
undefined reference to `err_sys'
6-- 使用gcc -o hello hello.c libapue.a來編譯原始碼,生成hello,執行./hello 即可。
相關文章
- 《unix環境高階程式設計》書中原始碼編譯問題解決程式設計原始碼編譯
- 第一篇:《UNIX 環境高階程式設計》編譯環境的搭建程式設計編譯
- 《UNIX環境高階程式設計》(APUE) 筆記第十一章 - 執行緒程式設計筆記執行緒
- unix環境高階程式設計(中)-程式篇程式設計
- unix環境高階程式設計(下)-高階IO和程式間通訊篇程式設計
- unix環境高階程式設計(上)-檔案篇程式設計
- UNIX系統程式設計的瑞士軍刀 --《UNIX環境高階程式設計》書評程式設計
- UNIX環境高階程式設計——執行緒和fork程式設計執行緒
- Ubuntu環境編譯OpenJDK11原始碼Ubuntu編譯JDK原始碼
- Unix環境高階程式設計——開源的標準化努力程式設計
- UNIX環境高階程式設計習題——第二章程式設計
- 程式程式設計1 – Unix環境高階程式設計7章讀書筆記程式設計筆記
- 程式程式設計2 – Unix環境高階程式設計8章讀書筆記程式設計筆記
- VLC在ubuntu環境下編譯編譯
- Unix環境高階程式設計——第一章-UNIX基礎知識程式設計
- 程式程式設計3 - UNIX高階環境程式設計第9章讀書筆記程式設計筆記
- UNIX訊號(signal)程式設計 - UNIX高階環境程式設計第10章讀書筆記程式設計筆記
- Ubuntu 18.04(虛擬機器)環境下編譯Android 原始碼Ubuntu虛擬機編譯Android原始碼
- [心得]APUE高階程式設計知識整理程式設計
- 初始化編譯環境 下載原始碼編譯原始碼
- [APUE] 程式環境
- Android 原始碼的下載和編譯環境的安裝及編譯Android原始碼編譯
- 推薦一本技術類書籍:Unix環境高階程式設計程式設計
- Ubuntu交叉編譯環境配置Ubuntu編譯
- lnmp環境安裝-原始碼編譯LNMP原始碼編譯
- 彙編環境下的原始碼除錯原始碼除錯
- Ubuntu環境下載OpenJDK11原始碼UbuntuJDK原始碼
- 第一篇:《UNIX 網路程式設計 第二版》編譯環境的搭建程式設計編譯
- CentOS 7.4 環境下原始碼編譯安裝 postgreSQL 11.4CentOS原始碼編譯SQL
- grpc-java原始碼環境編譯RPCJava原始碼編譯
- tomcat原始碼編譯和環境搭建Tomcat原始碼編譯
- 在Ubuntu環境下用gcc命令執行c程式以及Makefile編譯UbuntuGCC程式編譯
- GPU程式設計(一):Ubuntu下的CUDA8.0環境搭建GPU程式設計Ubuntu
- Linux環境PostGIS原始碼編譯安裝Linux原始碼編譯
- openEuler arm 環境原始碼編譯mysql 8.0.37原始碼編譯MySql
- centos下編譯lnmp環境CentOS編譯LNMP
- 雲伺服器Ubuntu下搭建NDK環境,並編譯FFmpeg伺服器Ubuntu編譯
- Ubuntu下Android原始碼以及核心下載與編譯UbuntuAndroid原始碼編譯