无法使用 make 命令创建 iOS 静态库 .a 文件
Posted
技术标签:
【中文标题】无法使用 make 命令创建 iOS 静态库 .a 文件【英文标题】:Unable to create iOS static library .a file using make command 【发布时间】:2016-02-26 06:54:41 【问题描述】:我的 Makefile 如下,它给出了错误:
没有指定目标,也没有找到任何生成文件。停下来。
XBUILD=/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild
PROJECT_ROOT=/Users/AshrafMac/Desktop/iosSDK/
PROJECT=$(PROJECT_ROOT)/InfColorPicker.xcodeproj
TARGET=/Users/AshrafMac/Desktop/iOSSDK/
all: libInfColorPickerSDK.a
libInfColorPicker-i386.a:
$(XBUILD) -project $(PROJECT) -target $(TARGET) -sdk iphonesimulator -configuration Release clean build
-mv $(PROJECT_ROOT)/build/Release-iphonesimulator/lib$(TARGET).a $@
libInfColorPicker-armv7.a:
$(XBUILD) -project $(PROJECT) -target $(TARGET) -sdk iphoneos -arch armv7 -configuration Release clean build
-mv $(PROJECT_ROOT)/build/Release-iphoneos/lib$(TARGET).a $@
libInfColorPickerSDK.a: libInfColorPicker-i386.a libInfColorPicker-armv7.a
xcrun -sdk iphoneos lipo -create -output $@ $^
clean:
-rm -f *.a *.dll
无法使用 make 命令创建 ios 静态库 .a 文件。
【问题讨论】:
【参考方案1】:xcodebuild -project 'MyProject.xcodeproj' -configuration 'Release' -sdk 'iphoneos9.3' 清理构建 ARCHS='armv7 armv7s' IPHONEOS_DEPLOYMENT_TARGET='5.0' TARGET_BUILD_DIR='./build-arm' BUILT_PRODUCTS_DIR='./build-arm'
xcodebuild -project 'MyProject.xcodeproj' -configuration 'Release' -sdk 'iphoneos9.3' 清理构建 ARCHS='arm64' IPHONEOS_DEPLOYMENT_TARGET='6.0' TARGET_BUILD_DIR='./build-arm64' BUILT_PRODUCTS_DIR='./build-arm64'
xcodebuild -project 'MyProject.xcodeproj' -configuration 'Release' -sdk 'iphonesimulator9.3' 清理构建 ARCHS='i386' IPHONEOS_DEPLOYMENT_TARGET='5.0' TARGET_BUILD_DIR='./build-i386' BUILT_PRODUCTS_DIR='./build-i386'
xcodebuild -project 'MyProject.xcodeproj' -configuration 'Release' -sdk 'iphonesimulator9.3' 清理构建 ARCHS='x86_64' VALID_ARCHS='x86_64' IPHONEOS_DEPLOYMENT_TARGET='6.0' TARGET_BUILD_DIR='./build-x86_64' BUILT_PRODUCTS_DIR='./build-x86_64'
lipo -create './build-arm/MyProject.a' './build-arm64/MyProject.a' './build-i386/MyProject.a' './build-x86_64/MyProject.a' -输出'Mylibrary.a'
执行上述代码在TERMINAL中。 在上面的代码中,MyProject.xcodeproj 应该替换为您的 Xcode 项目名称,iphoneos9.3 应该替换为您的 Xcode 支持的最大部署目标(例如,我正在使用Xcode 7.3.1 和它支持的最大部署是 9.3 参见:YourProject >> target >>> General Tab)
【讨论】:
嘿 @Ashraf 使用此链接 https://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/walkthrough/#Installing_the_Xcode_Command_Line_Tools 我无法在我的 xcode 中获取 make 文件。我在哪里可以得到那个 make 文件。?以上是关于无法使用 make 命令创建 iOS 静态库 .a 文件的主要内容,如果未能解决你的问题,请参考以下文章