小编Mic*_*nne的帖子

Firebase本机iOS构建失败,"当前部署目标不支持-fobjc-weak"

如果我尝试从XCode运行我的react-native应用程序,xcode将失败并显示以下消息:

当前部署目标不支持-fobjc-weak

如果我从shell运行react-native run-ios,那么我也会收到一条错误消息:

**建筑失败**

以下构建命令失败:CompileC /Users/michel/Development/Androdev/Firebase/Sample/FlightLogIos/ios/build/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/ nanopb-dummy.o Target\Support\Files/nanopb/nanopb-dummy.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler

(1次失败)

但是,该应用仍然运行.这很令人讨厌,因为我认为我会在某些时候为我的项目做一些Objective C代码.有人知道如何解决这个问题吗?

xcode ios cocoapods react-native-ios

7
推荐指数
1
解决办法
490
查看次数

如何在使用 CMake/CPack 制作的 Mac OS 包中包含特定版本的 C++ 库?

我创建了一个用 C++17 编写的应用程序,并在使用最新编译器和 Catalina 版本的 MacOS 的 Mac 上编译。我正在使用 CMake 和 CPack 创建一个包并将其打包到.dmg. 当我使用 Catalina 在另一台计算机上获取生成的文件时,一切正常。但是当尝试在装有 MacOS 10.12 的机器上运行时,会出现错误:

dyld: Symbol not found: __ZNSt19bad_optional_accessD1Ev
Expected in: /usr/lib/libc++.1.dylib
Run Code Online (Sandbox Code Playgroud)

在对符号进行解构时,它实际上是bad_optional_access异常的析构函数:std::bad_optional_access::~bad_optional_access()

std::optional是在C ++ 17导入。因此,装有 MacOS 10.12 的计算机在其 libc++ 中没有该符号。我试图找出如何将libc++.1.dylibfor C++17打包到包中,以便它不会使用系统一。

要创建我的包,我有:

# Installation
set(prefix "${PROJECT_NAME}.app/Contents")
set(INSTALL_RUNTIME_DIR "${prefix}/MacOS")
set(INSTALL_CMAKE_DIR "${prefix}/Resources")
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR})

# based on code from CMake's QtDialog/CMakeLists.txt
macro(install_qt5_plugin _qt_plugin_name _qt_plugins_var _prefix)
    get_target_property(_qt_plugin_path "${_qt_plugin_name}" LOCATION)
    if(EXISTS "${_qt_plugin_path}")
        get_filename_component(_qt_plugin_file "${_qt_plugin_path}" NAME)
        get_filename_component(_qt_plugin_type "${_qt_plugin_path}" PATH)
        get_filename_component(_qt_plugin_type …
Run Code Online (Sandbox Code Playgroud)

c++ cmake cpack

5
推荐指数
0
解决办法
397
查看次数

标签 统计

c++ ×1

cmake ×1

cocoapods ×1

cpack ×1

ios ×1

react-native-ios ×1

xcode ×1