Objective c 使用clang编译时未找到架构x86_64的符号错误
我试图编译一个(程序Objective c 使用clang编译时未找到架构x86_64的符号错误,objective-c,macos,clang,Objective C,Macos,Clang,我试图编译一个(程序main.m和一个库TTTdictionary.m),但它给了我以下错误: Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_NSString", referenced from: objc-class-ref in main-dba0a1.o "_OBJC_CLASS_$_TTTDictionary", referenced from: objc-class-ref in ma
main.m
和一个库TTTdictionary.m
),但它给了我以下错误:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_NSString", referenced from:
objc-class-ref in main-dba0a1.o
"_OBJC_CLASS_$_TTTDictionary", referenced from:
objc-class-ref in main-dba0a1.o
"_objc_autoreleasePoolPop", referenced from:
_main in main-dba0a1.o
"_objc_autoreleasePoolPush", referenced from:
_main in main-dba0a1.o
"_objc_enumerationMutation", referenced from:
_GetActiveDictionaryNames in main-dba0a1.o
_main in main-dba0a1.o
"_objc_msgSend", referenced from:
_GetDictionaryNameFromBundlePath in main-dba0a1.o
_GetActiveDictionaryNames in main-dba0a1.o
_main in main-dba0a1.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
当我试图在./example/文件夹中编译main.m文件时,会出现类似的错误消息。我将它们放在同一个文件夹中,我再次发现架构x86_64的符号未找到错误
我做错了什么?终端中的命令是clang-framework CoreServices main.m-o main
它没有找到“main”,这意味着它不知道您正在编译库而不是可执行文件。将-dynamiclib添加到您的叮当选项中,您就可以修复该选项
其他缺失的函数是未记录的CoreServices函数。添加框架CoreServices来修复这些问题
那么您只有警告。:) 您应该显示错误的其余部分,以便我们可以看到缺少哪些符号。然后将代码粘贴到这里,这样我们就知道它是当前版本。@MikeJfromVA,我已经更新了描述,即使我将main.m放入与TTTDictionary.m
相同的目录中,并作为clang-framework CoreServices main.m-o main
执行,也会出现类似的错误。我将更新我的问题来更全面地解决这个问题。你需要两个框架,比如:<代码> CLAN-FraseFrase-框架核心服务。