Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 获得;未定义的架构符号arm64“;使用Objective-C框架构建Swift项目时出错_Ios_Swift_Objective C_Xcode - Fatal编程技术网

Ios 获得;未定义的架构符号arm64“;使用Objective-C框架构建Swift项目时出错

Ios 获得;未定义的架构符号arm64“;使用Objective-C框架构建Swift项目时出错,ios,swift,objective-c,xcode,Ios,Swift,Objective C,Xcode,我正在使用Cisco的JabberGuest框架制作iOS应用程序。我按照他们的指示做了必要的调整。编译时,编译器返回几乎100个错误,都是未定义的符号。应用程序的核心是用Swift编写的 下面是错误日志的一部分: Undefined symbols for architecture arm64: "std::__1::recursive_mutex::recursive_mutex()", referenced from: csf::edge::Ip

我正在使用Cisco的JabberGuest框架制作iOS应用程序。我按照他们的指示做了必要的调整。编译时,编译器返回几乎100个错误,都是
未定义的符号
。应用程序的核心是用Swift编写的

下面是错误日志的一部分:

Undefined symbols for architecture arm64:
      "std::__1::recursive_mutex::recursive_mutex()", referenced from:
      csf::edge::IpInterfaceChangedEventFilter::IpInterfaceChangedEventFilter() in JabberGuest(IpInterfaceChangedEventFilter.o)
  "std::__1::recursive_mutex::~recursive_mutex()", referenced from:
      csf::edge::IpInterfaceChangedEventFilter::IpInterfaceChangedEventFilter() in JabberGuest(IpInterfaceChangedEventFilter.o)
      csf::edge::IpInterfaceChangedEventFilter::~IpInterfaceChangedEventFilter() in JabberGuest(IpInterfaceChangedEventFilter.o)
      csf::edge::IpInterfaceChangedEventFilter::~IpInterfaceChangedEventFilter() in JabberGuest(IpInterfaceChangedEventFilter.o)
  "std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      boost::regex_error::regex_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, boost::regex_constants::error_type, long) in JabberGuest(regex.o)
      boost::regex_error::regex_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, boost::regex_constants::error_type, long) in JabberGuest(regex.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::underflow()", referenced from:
      vtable for boost::re_detail_106501::parser_buf<char, std::__1::char_traits<char> > in JabberGuest(instances.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::pbackfail(int)", referenced from:
      vtable for boost::re_detail_106501::parser_buf<char, std::__1::char_traits<char> > in JabberGuest(instances.o)
[...]
JCFCoreUtils::EncryptionUtils::privateKeyDecryptToFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, csf::SecureString const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) in JabberGuest(EncryptionUtils.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::insert(std::__1::__wrap_iter<char const*>, char)", referenced from:
      boost::re_detail_106501::basic_regex_creator<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::append_set(boost::re_detail_106501::basic_char_set<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, mpl_::bool_<false>*) in JabberGuest(instances.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in JabberGuest(ObjectFoundry.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in JabberGuest(ObjcLibraryLoader.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in JabberGuest(FileUtils.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in JabberGuest(UnifiedFactory.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in JabberGuest(ServicesDispatcher.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in JabberGuest(Base64FamilyEncoder.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in JabberGuest(TaskDispatcher.o)
      ...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

在构建设置中,我正确设置了
框架搜索路径
调试
发布
目标C桥接头
设置在正确的文件上,在
armv7 arm64
上添加了
有效的架构
,在
标准Achritectures(arm64 armv7)
上设置了
架构。所有必要的库都在
链接二进制库中链接

我已尝试清理Xcode和缓存,将
$(继承)
添加到
其他链接器标志
,将
Yes
设置为
启用模块(C和Objective-C)
。没有正在使用的POD,也没有任何其他第三方框架

我正在检查项目是否立即生成,而没有在其他文件中实现任何方法,因此我的项目中没有更多更改


提前感谢您的帮助。

看起来像是
libc++。dylib
未链接到项目

  • 选择项目文件
  • 选择目标
  • 选择“构建阶段”子选项卡
  • 在“将二进制文件链接到库”下,按
    +
    按钮
  • 选择
    libc++.dylib
    并按Add

  • 另一个选择是尝试将<代码> -LC++<代码>添加到<代码> OTFLADLDFLAGs。

    看起来C++链接库没有链接/有错误的版本。你确定C++ C++ C++标准库转换为“LCBV++(LVVM C++标准库,C++ 11支持)”吗?是的,代码< C++标准库< /C> >设置为<代码> LBC+ +(LVVM C++标准库,C++ 11支持)< /COD>
    #ifndef _ltProjectName_gt_Bridging_Header_h
    #define _ltProjectName_gt_Bridging_Header_h
    #import "Frameworks/JabberGuest.framework/Headers/JabberGuest.h"
    
    #endif