【问题标题】:Unity3D exported source : c++ header files not recognisedUnity3D 导出​​的源代码:C++ 头文件无法识别
【发布时间】:2019-04-18 21:39:30
【问题描述】:

Unity3D 4.7.2 导出的源代码在 Xcode 9 中完美运行。

在最新的 Xcode 10.1 中,相同的代码导致文件未找到错误

#include <algorithm> // Got error here saying file not found.

所以我只是将 C++ 标准库更改为 libc++(LLVM C++ 标准库)

在此更改之后,所有编译器错误都消失了.... 有很多 c++ 的链接器错误

如何解决这些错误?

【问题讨论】:

  • #include &lt;algorithm&gt; 包裹在__cplusplus 周围,以确保它不包含在您的Object-C 文件中,因为算法仅适用于C++ 或Object-C++。将#include &lt;algorithm&gt; 替换为 #ifdef __cplusplus #include &lt;algorithm&gt; #endif
  • 我只要求你在算法上而不是在 csignal 上这样做。由于我几乎不使用 xcode,因此我无法回答您的最后一个问题。你最好用你的新问题来更新你的问题,这样任何想要帮助的人都会知道从哪里开始
  • @Programmer for algorithm也同样的错误app.box.com/s/wjr7bb2wbc01240hncdg13hl4go6yw4n
  • 您最后的屏幕截图显示 libC++ 错误,这是由于它在 Xcode 10 中被弃用。您需要阅读 this
  • 不客气!

标签: ios iphone xcode unity3d xcode10


【解决方案1】:

正如程序员所建议的,libc++ 从 Xcode 10 中删除。

最简单的解决方法是从 Xcode 9.4 复制它

复制 c++

/Applications/Xcode9.4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/c++ 到Xcode10相同的路径

同时复制 libstdc++.tbd、libstdc++.6.tbd 和 libstdc++.6.0.9.tbd 在 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib.

在 Xcode Build Settings 中,将 C++ 标准库保持为 libstdc++。

【讨论】:

    猜你喜欢
    • 2013-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    • 2019-04-20
    相关资源
    最近更新 更多