Android Studio找不到对make_unique的引用,但项目编译良好

时间:2019-03-11 05:34:27

标签: c++ android-studio android-ndk libc++

首先,为清楚起见,这是我的SDK版本:

  • Android Studio版本= 3.3.2
  • Android SDK Build-Tools =最高28.0.3
  • Android SDK平台工具= 28.0.1
  • Android SDK工具= 26.1.1
  • LLDB = 3.1(libc ++,支持c ++ 17)
  • CMake = 3.10.2.4988404
  • NDK = 19.1.5304403

本质上,我试图在我的native-lib.cpp文件中使用std::make_unique<>()。我包括了<memory>,其中定义了make_unique。AndroidStudio在编辑器中给出了一个错误,说:Cannot resolve namespace member 'make_unique'。但是,如果我构建该项目,则可以正常编译。

我已经对此进行了研究,并通过修改编译器选项(通过在-std=c++14文件中添加-std=c++17build.gradle)来尝试解决该问题,并添加了从oboe tutorial到(CMakeLists.txt的以下行:

target_compile_options(native-lib
    PRIVATE -std=c++14 -Wall -Werror "$<$<CONFIG:RELEASE>:-Ofast>")

这些都不重要,因为libc ++应该支持c ++ 17功能。即使在我的IDE中有这个红色项,我也可以很好地编译/构建项目。

我还尝试删除.gradle和.idea目录,然后对其进行清理,重新同步,并再次无济于事。

这是Android Studio的潜在错误,还是其他人注意到此问题?任何帮助将不胜感激,但我想现在我只需要忽略它或使用以下答案:https://stackoverflow.com/a/24609331/10013384

0 个答案:

没有答案