apue 在 mac 环境编译错误

参考资料: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.

原文地址:https://www.cnblogs.com/DillGao/p/10400024.html

时间: 2024-10-24 04:30:47

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

Cocos2d-x iOS Mac环境编译出错 can't locate file for: -lpng -ljpeg -ltiff -lwebp -lfreetype -lwebsockets -lcurl

在Mac上用Xcode6编译错误,在windows下面Visual Studio 编译没问题,然后查看报错信息: error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: can't locate file for file: -lpng is not an object file (not allowed in a library) 1 error

lamp环境编译错误

GD 编译出错解决方法 编译最新的2.0.35版本,用默认的 ./configure编译 当make的时候,出现以下错误 configure.ac:64: error: possibly undefined macro: AM_ICONV If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. make: *** [configure] Error

mac gcc 编译错误 基础问题

mac gcc  Undefined symbols for architecture x86_64 "std::__1: // Undefined symbols for architecture x86_64: "std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from: std::__1::basic_ostream<char, std::__1::char_tra

AOSP在MAC环境在编译

MAC环境下VPN重连脚本: on idle tell application "System Events" tell current location of network preferences set myConnection to the service "VIP-TW -P" if myConnection is not null then if current configuration of myConnection is not connected

尝试在Mac上编译DNX

自从XRE改名为DNX至今,从来没有在Mac OS X上成功编译过DNX.一直很纳闷,难道DNX的开发人员不用Mac?今天突然明白了,DNX的开发人员真的不用Mac.而且DNX用的2个持续集成服务AppVeyor与Travis,一个是Windows环境,一个是Linux环境,就是没有Mac OS X环境. 看来不能指望DNX的开发人员短期内解决这个问题了,只能自己动手. 编译的错误信息如下(编译命令./build.sh): Restore complete, 725ms elapsed info

Mac上编译并运行Android5.0源码

下载.配置环境.build和运行参考的都是Android Source提供的文档,包括:Initializing a Build Environment,Downloading the Source和Building the System. 我是在OSX 10.10.3上编译的AOSP,记录一下中途碰到的各种问题. 下载 AOSP需要FQ,而且经常会断,还好是断点续传,坚持个两三天怎么也能下下来. case sensitive system 我在Mac上对file system只会用Disk U

Mac下编译vlc-android

前言 突然想整整VLC-Android,然后就下一个玩玩看,这里记录点遇到的问题. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 一般按照官网来就行(https://wiki.videolan.org/AndroidCompile),以下是遇到的几个问题: 1.环境变量配置 export ANDROID_NDK=/Users/nmbb/Android/android-ndk-

windows平台python 2.7环境编译安装zbar

最近一个项目需要识别二维码,找来找去找到了zbar和zxing,中间越过无数坑,总算基本上弄明白,分享出来给大家. 一.zbar官方介绍 ZBar 是款桌面电脑用条形码/二维码扫描工具,支持摄像头及图片扫描,支持多平台,例如 iPhone,Andriod 手机,同时 ZBar封装了二维码扫描的 API 开发包. ZBar 目前条码类型有:EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 and QR Code. 从

Mac环境下Myeclispe2015工具的安装与破解

首先是Myeclispe2015的下载,废话不多说,已传至百度云,直接下载即可. Myeclispe2015 for mac下载地址: 链接: http://pan.baidu.com/s/1qWzKzOK 密码: recx 然后是破解工具的下载(适用于2014与2015): 链接: http://pan.baidu.com/s/1jGxULnS 密码: crz3 Myeclispe工具下载完之后,直接安装即可, 打开myeclipse-2015-stable-2.0-offline-insta