我在导入 string 的时候遇到问题

来源:1-3 CMake 编译基础语法和实践

gypsy_gyq

2020-04-12 16:13

#include <string>

这个会提示找不到 string

根据 AS 自动提示就变成了

#include "../../../../../../../Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1/string"

class People {
    std::string getString();
};

但还是找不到 string ,是需要配置 NDK 的环境变量吗

写回答 关注

2回答

  • Aleyn
    2020-04-28 17:29:55
    add_library( # Sets the name of the library.
            native-lib
    
            # Sets the library as a shared library.
            SHARED
    
            # Provides a relative path to your source file(s).
    #        native-lib.cpp)
            people/People.cpp)   这个改成你的Peopei类相对地址,同步一下就行了

    你把CMakeLists.txt 的 add_library 改成如上图所示,就行了。不过你会发现 nativate-lib.cpp 就报红了


    最好还是配置一下目录,像我下边这样,所有的类都能正常引用了

    aux_source_directory(. SOURCE_FILES)
    aux_source_directory(pople SOURCE_FILES_CORE)
    list(APPEND SOURCE_FILES ${SOURCE_FILES_CORE})
    
    add_library( # Sets the name of the library.
            native-lib
    
            # Sets the library as a shared library.
            SHARED
    
            # Provides a relative path to your source file(s).
            ${SOURCE_FILES})


  • gypsy_gyq
    2020-04-12 22:44:57

    我又来自己回答了,我忘记在 add_library 中添加 People.cpp ,也就是在 CMakeLists.txt 中添加

    add_library(
            people-lib
            SHARED
            people/People.cpp
    )

    即可

    慕仰1188...

    右上角 箭头同步下

    2021-03-19 15:04:55

    共 1 条回复 >

Android CMake以及NDK实践基础

Android底层开发入门必备,CMake动态库编译和使用,NDK的各种开发技巧。

5743 学习 · 29 问题

查看课程

相似问题