加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xcode – MacOSX下与libpng的链接器错误

发布时间:2020-12-14 19:42:30 所属栏目:百科 来源:网络整理
导读:我正在研究MacOSX 10.7.2和 Xcode 4.2.1.我使用端口安装了libpng,我试图在我的应用程序中加载PNG图像,但是我收到链接器错误: Undefined symbols for architecture x86_64: "_png_create_read_struct",referenced from: loadPngImage(char*,int,bool,unsigne
我正在研究MacOSX 10.7.2和 Xcode 4.2.1.我使用端口安装了libpng,我试图在我的应用程序中加载PNG图像,但是我收到链接器错误:

Undefined symbols for architecture x86_64:
  "_png_create_read_struct",referenced from:
      loadPngImage(char*,int&,bool&,unsigned char**) in test.o
  "_png_create_info_struct",unsigned char**) in test.o
  "_png_destroy_read_struct",unsigned char**) in test.o
  "_png_set_longjmp_fn",unsigned char**) in test.o
  "_png_init_io",unsigned char**) in test.o
  "_png_set_sig_bytes",unsigned char**) in test.o
  "_png_read_png",unsigned char**) in test.o
  "_png_get_IHDR",unsigned char**) in test.o
  "_png_get_rowbytes",unsigned char**) in test.o
  "_png_get_rows",unsigned char**) in test.o
ld: symbol(s) not found for architecture x86_64

我在项目中使用了png.h

#include "/usr/X11/include/png.h"

我知道libpng基于zlib,因此我在“其他链接器标志”中包含了-lz但没有任何改变.

有关如何使其工作的任何建议?

解决方法

我用手动安装libpng解决了:

>从official web site下载源代码
>在终端中,进入下载的文件夹并启动

cp ./scripts/makefile.darwin makefile
make 
sudo make install
make clean

>如果它不起作用(在我的情况下)用TextEdit(或等效的)打开makefile并更改行

ARCH =“ – arch i386 -arch x86_64”

ARCH = -arch x86_64

(假设,当然,您的系统是64位).

这可能还不够. Xcode仍无法找到该库.我解决了使用

cd /usr/local/lib
sudo ln -s libpng15.dylib ./libpng15.15.dylib

这就是诀窍.现在它工作正常.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读