我正在尝试在一个新的应用程序中使用Mecab,但我无法使该库正常工作。最初,我尝试了以下应该与iOS 6兼容的存储库:
https://github.com/gumob/mecab
我尝试构建通用二进制文件,然后添加库和头文件,以及简单地将整个项目添加为依赖项,但是在两种情况下,我最终都遇到很多错误。因此,我放弃了那个,回到原来的分支:
https://github.com/FLCLjp/iPhone-libmecab
我相信它最初是为iOS 3制作的。但是,如果对存储库中包含的示例应用程序进行以下更改,则该应用程序将在iOS 9.3模拟器和设备上构建并运行:
将应用程序委托中的第26行更改为
[self.window addSubview:viewController.view];
Run Code Online (Sandbox Code Playgroud)
至
[self.window setRootViewController:viewController];
Run Code Online (Sandbox Code Playgroud)
将在“其他源”文件夹中的mecab.xcodeproj中找到的LibMecabSample目标和mecab库目标的“构建设置-体系结构”选项更改为“标准体系结构(armv7 arm64)”。
由于此版本似乎工作正常,因此我尝试将在该存储库中找到的mecab.xcodeproj实施到我的应用中。我基本上只是尝试重新创建它在LibMecabSample应用程序中的实现方式,而且一切似乎都是相同的。我什至在文本程序中对xcode项目文件进行了更改,以确保在构建设置上没有任何差异。有几个区别(ARC,启用模块和用户定义的PREBINDING-无设置),但是更改它们似乎并没有影响,并且在尝试构建时仍然出现以下错误:
CompileC /Users/username/Library/Developer/Xcode/DerivedData/myApp-alstnncsvqtenwfmppcsobrovoao/Build/Intermediates/myApp.build/Debug-iphoneos/myApp.build/Objects-normal/armv7/Mecab.o myApp/Mecab.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/username/Developer/myApp
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch armv7 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=c99 -fobjc-arc -fmodules -fmodules-cache-path=/Users/username/Library/Developer/Xcode/DerivedData/ModuleCache -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/username/Library/Developer/Xcode/DerivedData/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wunreachable-code -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wshorten-64-to-32 …Run Code Online (Sandbox Code Playgroud)