参考资料:https://unix.stackexchange.com/questions/105483/compiling-code-from-apue

笔者使用 mac 学习 apue, 在编译的时候出现错误,错误如下:

Undefined symbols for architecture x86_64:
"_TELL_CHILD", referenced from:
_main in 14_5-4244a7.o
"_TELL_PARENT", referenced from:
_main in 14_5-4244a7.o
"_TELL_WAIT", referenced from:
_main in 14_5-4244a7.o
"_WAIT_CHILD", referenced from:
_main in 14_5-4244a7.o
"_WAIT_PARENT", referenced from:
_main in 14_5-4244a7.o
"_err_sys", referenced from:
_lock_test in 14_5-4244a7.o
_main in 14_5-4244a7.o
_lockabyte in 14_5-4244a7.o
"_lock_reg", referenced from:
_lockabyte in 14_5-4244a7.o
ld: symbol(s) not found for architecture x86_64

在解决该问题时浪费很多时间,记下解决办法,希望可以帮助到你。

前提:已经正确安装 apue,安装方法自行搜索,路径如下:

DilldeMacBook-Pro:apue.3e dill$ pwd
/Users/dill/Downloads/apue.3e
DilldeMacBook-Pro:apue.3e dill$ cp include/* /usr/local/include/
DilldeMacBook-Pro:apue.3e dill$ cp lib/* /usr/local/lib/

避免上文的编译错误,采用如下命令编译:

gcc -o myls myls.c -I /usr/local/include -L /usr/local/lib/ -lapue

myls.c 为需要编译的 C 文件

-I 为 gcc 指定 include 地址

-L 为 gcc 指定 library 地址

-lapue 指定在 lib 文件夹中  library 文件名("/usr/local/lib/libapue.a")

-LXXX means to look for a file in the library directory with the name: libXXX.a or libXXX.so.

apue 在 mac 环境编译错误的更多相关文章

  1. lamp环境编译错误

    GD 编译出错解决方法 编译最新的2.0.35版本,用默认的 ./configure编译 当make的时候,出现以下错误 configure.ac:64: error: possibly undefi ...

  2. mac gcc 编译错误 基础问题

    mac gcc  Undefined symbols for architecture x86_64 "std::__1: // Undefined symbols for architec ...

  3. 编译错误“The run destination My Mac 64-bit is not valid for Running the scheme '***',解决办法

    1. iOS APP Project or  Mac APP Project编译错误提示:
“The run destination My Mac 64-bit is not valid for Ru ...

  4. 编译错误“The run destination My Mac is not valid for Running the scheme '***',解决办法

    [转载]   http://blog.csdn.net/duanyipeng/article/details/8007684   编译错误"The run destination My Ma ...

  5. Android编译环境——ubuntu12.04上android2.3.4编译错误以及解决

    Android编译环境——ubuntu12.04上android2.3.4编译错误以及解决 分类: android应用开发2013-08-21 09:20 4222人阅读 评论(3) 收藏 举报 li ...

  6. mac 环境下Android 反编译源码

    mac环境下Android 反编译 一.需要的工具 apktool:反编译APK文件,得到classes.dex文件,同时也能获取到资源文件以及布局文件. dex2jar:将反编译后的classes. ...

  7. Xamarin Studio在Mac环境下的配置和Xamarin.iOS常用控件的示例

    看过好多帖子都是Win环境装XS,Mac只是个模拟器,讲解在Mac环境下如何配置Xamarin Studio很少,也是一点点找资料,东拼西凑才把Xamarin Studio装在Mac上跑起来,如下: ...

  8. (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  9. 尝试在Mac上编译DNX

    自从XRE改名为DNX至今,从来没有在Mac OS X上成功编译过DNX.一直很纳闷,难道DNX的开发人员不用Mac?今天突然明白了,DNX的开发人员真的不用Mac.而且DNX用的2个持续集成服务Ap ...

随机推荐

  1. 安装Python包报错——ReadTimeoutError

    一.问题:安装python包的时候报错ReadTimeoutError——Read time out. 二.解决办法三种方法,一是切换下载源:二是下载相应平台的安装包后安装:三是下载源码编译安装:  ...

  2. centos7进入单用户模式修改root密码

    1.开机 按“e”,然后输入init=/bin/sh 2.根据提示按ctrl+x 得如下图: 3.输入mount -o remount,rw    /  输入passwd设置新密码.如下图:  4.输 ...

  3. Linux日常之命令sort

    素材借鉴:https://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html 命令sort 是Linux中常用的排序命令,属于管道命令. 常 ...

  4. Django学习系列8:django测试客户端

    """向浏览器返回真正的HTML响应,添加一个新的测试方法""" from django.test import TestCase from ...

  5. ubuntu 安装nginx redis dotnet

    1 安装nginx sudo apt-get update sudo apt-get install nginx 配置文件 /etc/nginx/nginx.conf 2 安装redis sudo a ...

  6. pyqt5--动画

    动画类别继承结构图 天子骄龙

  7. JavaScript 中的 for 循环---------------引用

    在ECMAScript5(简称 ES5)中,有三种 for 循环,分别是: 简单for循环 for-in forEach 下面先来看看大家最常见的一种写法: 当数组长度在循环过程中不会改变时,我们应将 ...

  8. 函数中的this与 this.prototype

    函数中的this添加函数是加在对象上,而this.prototype是添加在原型上,通过prototype的指向来一级一级查找 prototype是构造函数访问原型对象,__proto__是对象实例访 ...

  9. 设置获取data-*属性值

    html代码如下: <div id="getId" data-id="122" data-vice-id="11">获取id&l ...

  10. Tensorflow视频教程&Pytorch视频教程

    基于tensorflow做研究和基于pytorch做研究哪个好?哪个更容易复制代码,工业上更易用.Keras和tensorflow.pytorch的关系. Keras:Keras是一个由Python编 ...