薛定呃的猫 2021-01-24 18:50 采纳率: 0%
浏览 9

请帮我看看为什么as中这样书写cmakelist.txt无法调用opencv中头文件?

cmake_minimum_required(VERSION 3.10.2)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)


#指明项目名称
project("myapplication" CXX)
#设置OpenCV_DIR路径
set(OpenCV_DIR "C:/Users/lenovo/Desktop/MyApplication/sdk/native/jni")
#于OpenCV_DIR路径下寻找OpenCV包
find_package(OpenCV REQUIRED )
#寻找".cpp" ".c"文件,将其设置为变量srcs
file(GLOB srcs "*.cpp" "*.c")
#寻找".hpp" ".h"文件,将其设置为变量hdrs
file(GLOB hdrs "*.hpp" "*.h")
#将路径"C:/Users/lenovo/Desktop/MyApplication/sdk/native/jni/include"设置为变量Opencv_INCLUDE_DIRS
set(Opencv_INCLUDE_DIRS "C:/Users/lenovo/Desktop/MyApplication/sdk/native/jni/include")
#将路径"C:/Users/lenovo/Desktop/oneTBB-master/include设置为变量TBB_PATH
set(TBB_PATH "C:/Users/lenovo/Desktop/oneTBB-master/include")
#指明头文件库
include_directories("${Opencv_INCLUDE_DIRS}")
include_directories("${TBB_PATH}")
#将搜索得到的".hpp" ".h" ".cpp" ".c"文件以及native-lib.cpp文件加入库"native-lib"
add_library(native-lib SHARED native-lib.cpp ${srcs} ${hdrs})
#找到log库,将其命名为"log_lib"
find_library(log-lib log)
#将库"log-lib","TBB_PATH","Opencv_INCLUDE_DIRS"链接到库"native-lib"
target_link_libraries(native-lib ${log-lib} ${TBB_PATH} ${Opencv_INCLUDE_DIRS})
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 14:31
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在使用CMake构建Android应用时,如果你尝试使用cmake_minimum_required()来设定最低版本,然后使用find_package()find_library()来查找所需的库和头文件,并使用target_link_libraries()来链接这些库,那么你可能遇到的问题是:

    • find_package()find_library()命令会自动检测并安装所需依赖库。然而,在你的例子中,你需要手动指定OpenCV_DIR路径和TBB_PATH路径。
    • 在你的cmake_minimum_required()语句中,CMAKE_CXX_STANDARD被设置为11(这是一个错误),应该改为CMAKE_CXX_STANDARD
    • find_package()find_library()命令需要一个包含所有必要的库和头文件的列表。在这种情况下,你需要提供完整的路径列表。

    要解决这些问题,你可以按照以下步骤操作:

    1. 确保你的Android SDK和开发环境已正确配置。
    2. OpenCV_DIRTBB_PATH替换为你实际使用的路径。
    3. 更改cmake_minimum_required()中的CMAKE_CXX_STANDARD
    4. cmake_minimum_required()后面添加完整的目标路径列表,例如:
      cmake_minimum_required(VERSION 3.10.2 TARGETS myapplication)
      
    5. 编译和运行你的应用程序。

    确保你在编译前检查是否有任何错误或警告,以确认你的依赖库已经正确安装和链接。如果问题仍然存在,请查看详细的错误消息并进行相应修改。

    评论

报告相同问题?