Я починаю вивчати APUE і складаю вихідний код
1, завантажується вихідний код із вихідного коду
2, витягніть його
$ pwd
/Users/me/Desktop/PubRepo/C/APUE/apue.3e
3, прочитати readmd
$ cat readme
Read the file called DISCLAIMER.
On Freebsd, type "gmake".
On other platforms, type "make" (as long as this is gnu make).
For FAQs, updated source code, and the lost chapter, see http://www.apuebook.com.
Please direct questions, suggestions, and bug reports to sar@apuebook.com.
Steve Rago
January 2013
Я перевірив makeверсію
$ make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i386-apple-darwin11.3.0
4, зробіть, але повідомте про помилку:
gcc -ansi -I../include -Wall -DMACOS -D_DARWIN_C_SOURCE -c -o sleep.o sleep.c
making intro
gcc -ansi -I../include -Wall -DMACOS -D_DARWIN_C_SOURCE getcputc.c -o getcputc -L../lib -lapue
ld: archive has no table of contents file '../lib/libapue.a' for architecture x86_64
clang: error: unable to execute command: Segmentation fault: 11
clang: error: linker command failed due to signal (use -v to see invocation)
make[1]: *** [getcputc] Error 254
make: *** [all] Error 1
Я шукав і знайшов відповідь, щоб додати cp ./lib/error.c /usr/local/include/
$ cp ./lib/error.c / usr / local / include /
чистити і робити
making intro
gcc -ansi -I../include -Wall -DMACOS -D_DARWIN_C_SOURCE getcputc.c -o getcputc -L../lib -lapue
ld: archive has no table of contents file '../lib/libapue.a' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [getcputc] Error 1
make: *** [all] Error 1
Помилка все ж є.
Як я могла подати заявку apue.h?
Яка у вас версія macOS та Xcode? (Працює для Сьєрри / код 8) без жодних каналів, звідки ви взяли зміни?
—
Марк
macOS Mojave та останній командний рядок без Xcode. @Mark
—
Алгебра