首先,为清楚起见,这是我的SDK版本:
本质上,我试图在我的native-lib.cpp文件中使用std::make_unique<>()
。我包括了<memory>
,其中定义了make_unique。AndroidStudio在编辑器中给出了一个错误,说:Cannot resolve namespace member 'make_unique'
。但是,如果我构建该项目,则可以正常编译。
我已经对此进行了研究,并通过修改编译器选项(通过在-std=c++14
文件中添加-std=c++17
和build.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