linux如何写一个CMakeLists.txt将jpg.cpp和jpg.h通过ndk交叉编译方式生成一个.so动态库,动态库为Android11,
时间: 2024-02-13 10:04:30 浏览: 126
以下是一个可能的CMakeLists.txt文件,可以用于将jpg.cpp和jpg.h编译成一个.so动态库,并且可以通过ndk交叉编译方式生成适用于Android 11平台的动态库:
```cmake
cmake_minimum_required(VERSION 3.4.1)
# 设置编译参数
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
# 添加头文件路径
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
# 添加源文件
add_library(jpeg SHARED jpg.cpp)
# 链接静态库
target_link_libraries(jpeg log)
```
在上面的CMakeLists.txt文件中,我们首先设置了编译参数,然后添加了头文件路径和源文件。在这个例子中,我们只有一个源文件,即jpg.cpp。然后我们使用add_library命令将jpg.cpp编译成一个.so动态库。最后,我们链接了log库,这是Android系统的一个系统库。如果您的代码中使用了其他库,可以将它们添加到target_link_libraries命令中。
请注意,这只是一个示例CMakeLists.txt文件,您需要根据您的实际情况进行修改。另外,您需要安装NDK,并设置正确的路径,以便CMake可以找到NDK。
阅读全文