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-框架核心服务。