我对使用C++库完全不熟悉,所以请理解这可能对我的情况有点具体(让我知道,我可以提供更多细节).
我有一个外部C++库,我正在尝试使用iOS项目.该库遵循configure,make,make构建模式以输出.a库文件.当我尝试将此库文件添加到Xcode时,我收到以下错误:
忽略文件/Users/Developer/iOS/TestProj/libpresage.a,文件是为归档而构建的,而不是被链接的体系结构(i386):
/Users/Developer/iOS/TestProj/libpresage.a
基于这个问题,我尝试将Build Active Architecture Only转为NO,我得到了同样的错误.这让我怀疑我为不正确的架构编译了库.
在.a文件上运行lipo -info给出:
输入文件libpresage.a不是胖文件非胖文件:libpresage.a
是架构:x86_64
鉴于这不是armv7s,armv7或arm64,我尝试使用以下参数再次编译C++库:
1)试试
./configure CC="gcc -arch armv7s" \
CXX="g++ -arch armv7s" \
CPP="gcc -E" CXXCPP="g++ -E"
Run Code Online (Sandbox Code Playgroud)
编译时出错,我得到:
ld: library not found for -lcrt1.3.1.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
2)试试
./configure CC="gcc -arch arm64" \
CXX="g++ -arch arm64" \
CPP="gcc -E" CXXCPP="g++ -E"
Run Code Online (Sandbox Code Playgroud)
编译时出错,我得到:
ld:警告:ld:警告:忽略文件/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib/libSystem.dylib,缺少所需的架构arm64 in文件/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib/libSystem.dylib(2个切片)忽略文件/Applications/Xcode.app/Contents/开发人员/平台/ MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib/libstdc ++.dylib,在文件/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer中缺少所需的架构arm64 /SDKs/MacOSX10.10.sdk/usr/lib/libstdc++.dylib(2片)
ld:动态主可执行文件必须与libSystem.dylib链接,用于体系结构arm64 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
有什么明显的东西让我失踪吗?
编辑:
感谢您的回复,所以我设法将库作为自定义构建目标放入Xcode,将'make'命令指向库MakeFile.这个构建很好.
我从这里开始:
你如何在Objective-C中使用UILexicon?我发现Apple提供的文档非常无用.
它有什么作用?它会返回字典或正确的单词拼写吗?或者我提供像"hellllo"这样的单词,并将其与正确的拼写"Hello"匹配并将其作为字符串返回?
任何帮助,将不胜感激.
requestSupplementaryLexiconWithCompletion:
这是我的错误报告,但显然我会有错误,因为我完全猜测如何使用该函数,不知道块语句内部的内容(因为文档(当时)没有说!(Beta 4 docs) ))哈哈哈!

我正在尝试创建自定义iOS键盘.我使用UILexicon类来提供requestSupplementaryLexiconWithCompletion:方法提供的单词的基本词典.
但我想在键盘上添加Predictive Text.
我知道即使你尝试使用完全的努力也无法创建单词数据库.
所以,我相信没有人会用他们自己的键盘做到这一点.必须有一个预先创建的单词数据库,我知道.
即使我找到这些单词的数据库,我也不明白如何基于上一个单词提供建议.
任何人都可以指出一个好的,值得信赖的资源,它可以为我提供我想要的结果,并给我一个英语词典和其他语言的数据库.
请建议在应用程序中使用数据库的方法.