gpt4 book ai didi

xcode - MacOSX 下 libpng 的链接器错误

转载 作者:行者123 更新时间:2023-12-04 12:23:44 27 4
gpt4 key购买 nike

我正在使用 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在“其他链接器标志”中,但没有任何改变。

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

最佳答案

我通过手动安装 libpng 解决了:

  • official web site 下载源代码
  • 在终端中,进入下载的文件夹并启动
    cp ./scripts/makefile.darwin makefile
    make
    sudo make install
    make clean
  • 如果它不起作用(如我的情况)打开 makefile使用 TextEdit(或等效的)并更改行
    ARCH="-arch i386 -arch x86_64"

    ARCH=-arch x86_64
    (当然,假设您的系统是 64 位)。

  • 这可能还不够。 Xcode 仍然无法找到该库。我解决了使用
    cd /usr/local/lib
    sudo ln -s libpng15.dylib ./libpng15.15.dylib

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

    关于xcode - MacOSX 下 libpng 的链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9351777/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com