【发布时间】:2012-03-10 05:47:51
【问题描述】:
我正在使用 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&, int&, bool&, unsigned char**) in test.o
"_png_create_info_struct", referenced from:
loadPngImage(char*, int&, int&, bool&, unsigned char**) in test.o
"_png_destroy_read_struct", referenced from:
loadPngImage(char*, int&, int&, bool&, unsigned char**) in test.o
"_png_set_longjmp_fn", referenced from:
loadPngImage(char*, int&, int&, bool&, unsigned char**) in test.o
"_png_init_io", referenced from:
loadPngImage(char*, int&, int&, bool&, unsigned char**) in test.o
"_png_set_sig_bytes", referenced from:
loadPngImage(char*, int&, int&, bool&, unsigned char**) in test.o
"_png_read_png", referenced from:
loadPngImage(char*, int&, int&, bool&, unsigned char**) in test.o
"_png_get_IHDR", referenced from:
loadPngImage(char*, int&, int&, bool&, unsigned char**) in test.o
"_png_get_rowbytes", referenced from:
loadPngImage(char*, int&, int&, bool&, unsigned char**) in test.o
"_png_get_rows", referenced from:
loadPngImage(char*, int&, int&, bool&, 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,但没有任何改变。
关于如何使它工作的任何建议?
【问题讨论】:
-
粗略猜测:看起来缺少 64 位版本 - 你在 libpng 上尝试过
file和otool吗?
标签: xcode macos linker-errors libpng