标签: libtool-xcode

无法为PJSIP创建动态库

我们有一个脚本可以将PJSIP编译成胖的静态库.但我们想创建一个动态库,以便它可以在swift only项目中使用.

2016年9月9日更新:

使用"--enable-shared"选项编译PJSIP时,大多数lib都是正确构建的.但是,有些lib是针对错误的体系结构编译的,在本例中是x86_64而不是arm64

libg7221codec.dylib is architecture: x86_64
libgsmcodec.dylib is architecture: x86_64
libilbccodec.dylib is architecture: x86_64
libresample.dylib is architecture: x86_64
libyuv.dylib is architecture: x86_64
Run Code Online (Sandbox Code Playgroud)

虽然这些是正确的:

libpjsip.dylib is architecture: arm64
libpjsua.dylib is architecture: arm64
libpjsua2.dylib is architecture: arm64
Run Code Online (Sandbox Code Playgroud)

当我们开始建设:

+ ./configure-iphone --enable-shared
+ make dep
+ make clean
Run Code Online (Sandbox Code Playgroud)

al完全正确但是

+ make
Run Code Online (Sandbox Code Playgroud)

生成这些警告:

ld: warning: -undefined dynamic_lookup is deprecated on iOS
ld: warning: -flat_namespace is deprecated on iOS
Run Code Online (Sandbox Code Playgroud)

和很多警告看起来像这样:

ld: warning: ignoring file
output/libilbccodec-arm64-apple-darwin_ios/iLBC_decode.o, file was built
for unsupported file format ( …
Run Code Online (Sandbox Code Playgroud)

cross-compiling pjsip ios cocoapods libtool-xcode

16
推荐指数
1
解决办法
633
查看次数

创建胖文件:libtool vs lipo(我应该更喜欢lipo吗?)

我想知道使用时会有什么不同:

lipo -create i386/libAwesome.a armv7/libAwesome.a -o fat/libAwesome.a
Run Code Online (Sandbox Code Playgroud)

libtool -static i386/libAwesome.a armv7/libAwesome.a -o fat/libAwesome.a
Run Code Online (Sandbox Code Playgroud)

我的印象lipo更为通用,它只会粘贴来自不同架构的两个文件,而libtool特定于库,这是真的吗?

在什么情况下我应该更喜欢Lipo而不是Libtool?

iphone macos ios libtool-xcode lipo

13
推荐指数
0
解决办法
1320
查看次数

链接错误:-Xlinker中的未知选项字符"X"

以下链接器命令导致以下错误.这是为XCode for iOS中的模拟器目标构建的.目前还不清楚甚至通过XCode提供Xlinker参数.关于我如何在这里寻求解决方案的任何想法?

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -static -arch_only i386 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/ iPhoneSimulator7.1.sdk -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -o libxxx.a

错误:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool:未知选项字符`X': - Xlinker

(注意:这个错误似乎无处不在.几天前相同的项目文件正在构建).

xcode ios libtool-xcode

6
推荐指数
1
解决办法
567
查看次数

将多个静态库编译到单个iOS Framework中

我有一个很大的静态库,我想打包到iOS静态框架中以方便使用.该库实际上是几个.a文件,每个库的逻辑模块一个.

我有编制.a的设备(脂肪文件内置文件armv7,armv7s,arm64和模拟器(与FAT文件)i386,x86_64).

现在,AFAIK,我需要将所有这些文件组合成一个大文件,以便构建一个合适的框架.

使用这里描述的技术(组合静态库),我可以做:

libtool -static -o new.a old1.a old2.a
Run Code Online (Sandbox Code Playgroud)

但显然都old1.aold2.a包括相同的符号.因此,当链接到我的框架时,我得到链接器错误(出于正当理由)duplicate symbols.

一个更正确的方法(从而避免重复的符号)似乎是解压缩.o文件,并将它们组合成一个大.a文件(如何将多个库存档(.a)打包到一个存档文件中?)

ar x old1.a
ar x old2.a
ar rcs new.a *.o
Run Code Online (Sandbox Code Playgroud)

现在,记住,old1.a并且old2.a是胖文件,所以我需要将每个架构分开.

所以这就是我的工作:

lipo old1.a -thin armv7 -output armv7/old1.a
cd armv7; ar x old1.a; cd ..
...
lipo old1.a -thin x86_64 -output x86_64/old1.a
cd x86_64; …
Run Code Online (Sandbox Code Playgroud)

c iphone static-libraries ios libtool-xcode

6
推荐指数
1
解决办法
3607
查看次数

找不到libtoolize,即使我在OSX Yosimite中安装了libtool

我想使用Make install命令,我已经安装了所有要求,如yasm,nasm,curl,ant,rsync和autotools:autoconf,automake,aclocal,pkgconfig,libtool.(确切地说,我想从这里编译Linphone Android NDK:https://github.com/BelledonneCommunications/linphone-android.我已经按照那里的所有步骤)

我尝试使用此命令安装libtoolize:

brew install libtoolize
Run Code Online (Sandbox Code Playgroud)

但终端总是显示:

错误:没有可用的libtoolize公式

如果我尝试进行安装,终端将显示:

找不到libtoolize.请安装libtool.

有人可以帮忙吗?

ant macos android libtool-xcode linphone

4
推荐指数
1
解决办法
6086
查看次数

ios - 干净后"libtool以退出代码1失败"

我正在做一个项目,一切顺利,直到我决定清理我的项目.

仅当我在模拟器上运行我的应用程序时才会出现以下错误(在真实设备上正常运行):

Libtool /Users/Yaman/Library/Developer/Xcode/DerivedData/Homeless-gujyzhsiwenufvedlinbbtrizcpd/Build/Products/Debug-iphonesimulator/libShareKit.a normal i386
    cd "/Users/Yaman/Documents/iOS - App à vendre/Homeless/Submodules/ShareKit"
    setenv IPHONEOS_DEPLOYMENT_TARGET 4.0
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -static -arch_only i386 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk -L/Users/Yaman/Library/Developer/Xcode/DerivedData/Homeless-gujyzhsiwenufvedlinbbtrizcpd/Build/Products/Debug-iphonesimulator -filelist "/Users/Yaman/Library/Developer/Xcode/DerivedData/Homeless-gujyzhsiwenufvedlinbbtrizcpd/Build/Intermediates/ShareKit.build/Debug-iphonesimulator/Static Library.build/Objects-normal/i386/ShareKit.LinkFileList" -ObjC -all_load -lCopy -lDelicious -lDiigo -lEmail "-lEvernote SDK" -lEvernote -lFacebook "-lFlickr SDK" -lFlickr -lFoursquareV2 "-lGoogle Reader" -lInstagram -lInstapaper -lJSONKit -lKippt -lLinkedIn -lLogout -lOAuth "-lOpen in Safari" -lPinboard -lPrint -lReachability "-lRead It Later" "-lSave to Album" -lShareKitCore "-lSina Weibo" -lSSKeyChain "-lText Message" -lTumblr -lTwitter -lVKontakte -o /Users/Yaman/Library/Developer/Xcode/DerivedData/Homeless-gujyzhsiwenufvedlinbbtrizcpd/Build/Products/Debug-iphonesimulator/libShareKit.a

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: -dynamic not specified, -all_load invalid …
Run Code Online (Sandbox Code Playgroud)

exit-code armv7 ios sharekit libtool-xcode

2
推荐指数
1
解决办法
6541
查看次数

在OSX 10.6上编译libnoise

没有人为MacOS X 10.6 编译或知道预编译的libnoise?由于libtool问题,它不会在这里开箱即用.

libtool --mode=compile g++   -c ../src/latlon.cpp -o ../src/latlon.o
libtool: unknown option character `-' in: --mode=compile
Run Code Online (Sandbox Code Playgroud)

macos noise libtool osx-snow-leopard libtool-xcode

1
推荐指数
1
解决办法
1819
查看次数