Linux UNIX环境中高级编程的工作代码最好是在Ubuntu/gcc4上
我在学习Linux系统编程,我正在阅读由 理查德·史蒂文斯和斯蒂芬·拉戈 上给出的代码不起作用。未定义的定义,未实现的功能(见附录)Linux UNIX环境中高级编程的工作代码最好是在Ubuntu/gcc4上,linux,unix,operating-system,systems-programming,Linux,Unix,Operating System,Systems Programming,我在学习Linux系统编程,我正在阅读由 理查德·史蒂文斯和斯蒂芬·拉戈 上给出的代码不起作用。未定义的定义,未实现的功能(见附录) 有谁能告诉我如何获取APUE 2ed的编译代码,最好是在Ubuntu/gcc4上。我下载了源代码,然后根据自述文件编辑Make.defines.linux,并将WKDIR更改为指向我解压缩源代码的位置。然后我运行make,编译了几乎所有的东西,只有几个警告 不过,threadctl没有编译,我不得不在编译之前将getenv1.c和getenv3.c中的#inclu
有谁能告诉我如何获取APUE 2ed的编译代码,最好是在Ubuntu/gcc4上。我下载了源代码,然后根据自述文件编辑Make.defines.linux,并将WKDIR更改为指向我解压缩源代码的位置。然后我运行make,编译了几乎所有的东西,只有几个警告
不过,threadctl没有编译,我不得不在编译之前将getenv1.c和getenv3.c中的
#include
更改为#include
(不确定这是否是最佳修复,但它可以工作)。rotkas有一个github repo,其中包含经过修改的代码,以便在现代系统上编译。它在OSX 10.7和Ubuntu 10.04上对我起了作用。不过,我最近不需要它
谢谢杰辛达的链接,它对我有用,但我也不得不做些别的事情 我使用了来自github/roktas的源代码,并使用以下命令来运行程序
gcc -o myls myls.c -I SCADDRESS/include/ -L SCADDRESS/lib/ -lapue
如果有人有同样的问题,可以转到。您能解释一下流程吗?你在Make.defines.linux中编辑了什么?我想我只是把WKDIR改为指向我解压源代码的地方,但我记不清了。还可以尝试Jacinda链接到的github存储库。您试图在什么操作系统上编译?