小编Ege*_*rım的帖子

Android Studio 使用 Gcc 编译,如何将其更改为 G++?(使用CMake)

我有一个 Android studio 项目,它使用带有 JNI 的 Native C++ 代码,但是当我尝试构建我的项目时,它会抛出error: undefined reference to 'std::basic_ostream<char... 错误。

我正在使用 ubuntu,我相信问题是由使用 gcc 编译器的 IDE 引起的,并尝试将其编译为 C 代码。当我尝试通过gcc -o foo foo.cpp在终端中运行来运行简单的 hello world 程序时,它给出了相同的错误。当我将 gcc 更改为 g++ 时,一切正常。

但是如何更改 IDE 中的编译器呢?我对使用CMake有点陌生,我想我需要使用cmake的enable_language函数,但即使我将enable_language(CPP)行添加到我的CMakeLists.txt中,它也会给出相同的错误。

这是我的 CMakeLists.txt :

cmake_minimum_required(VERSION 3.4.1)
include_directories("/usr/include/x86_64-linux-gnu/c++/9")
include_directories("/usr/include/c++/9")
include_directories("/usr/include/x86_64-linux-gnu")
include_directories("/usr/include")
file(GLOB srcs *.cpp *.c)
file(GLOB hdrs *.hpp *.h)



include_directories(${OpenCV_DIR}/jni/include)
include_directories(${TESSERACT_INCLUDE_DIRS})
include_directories(${LEPTONICA_INCLUDE_DIRS})
add_library( lib_opencv SHARED IMPORTED )
set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION ${OpenCV_DIR}/libs/${ANDROID_ABI}/libopencv_java4.so)

add_library( 
             native-lib

             
             SHARED

             #
             native-lib.cpp )



find_library( 
              log-lib

              
              log )


target_link_libraries( 
                    native-lib
                    lib_opencv …
Run Code Online (Sandbox Code Playgroud)

c++ cmake android-ndk

0
推荐指数
1
解决办法
1487
查看次数

标签 统计

android-ndk ×1

c++ ×1

cmake ×1