静态FreeType有依赖项(libfreetype.6.dylib)

1 macos xcode freetype

在OSX这里.用make构建.

我的设置:

./configure --enable-static=yes --enable-shared=no
Run Code Online (Sandbox Code Playgroud)

我从vanilla FreeType 2.5.3下载中没有改变任何其他内容.

这会导致libfreetype.a并且当添加到项目(链接二进制文件库)时,我得到了各种构建错误,我没有使用着色库得到:

"_BZ2_bzDecompress", referenced from:
  _ft_bzip2_file_fill_output in libfreetype.a(ftbzip2.o)
 "_png_create_info_struct", referenced from:
  _Load_SBit_Png in libfreetype.a(sfnt.o)
"_inflateInit2_", referenced from:
  _FT_Stream_OpenGzip in libfreetype.a(ftgzip.o)
Run Code Online (Sandbox Code Playgroud)

等等

所以如果我用这个./configure构建它会变得更奇怪:

./configure --enable-static=yes --enable-shared=no  --with-png=no --with-bzip2=no --with-zlib=no
Run Code Online (Sandbox Code Playgroud)

然后我可以构建我的项目,但是当我运行它时,我得到一个错误,说找不到/opt/local/lib/libfreetype.6.dylib.当然不是,因为它只使用共享的FreeType构建.

我怎样才能构建一个完全无依赖的FreeType(就像网站上说的那样)?

非常感谢,伊恩

fou*_*dry 5

我找到了成功 - 最终 - 通过调整这个答案 并添加排除项目blib.png,bzip

忽略iOS件......

./configure CFLAGS="-arch i386" --without-zlib --without-png --without-bzip2
make clean
make
cp objs/.libs/libfreetype.a libfreetype-i386.a

./configure CFLAGS="-arch x86_64" --without-zlib --without-png --without-bzip2
make clean
make
cp objs/.libs/libfreetype.a libfreetype-x86_64.a

lipo -create -output libfreetype.a libfreetype-i386.a libfreetype-x86_64.a
Run Code Online (Sandbox Code Playgroud)

这对我使用FreeType 2.5.5 + Yosemite + Xcode 6.2的混合有用