工程

ncnn工程编译使用(cpu)

在linux下建立如CMakeLists文件即可编译生成ncnn工程

# 最低cmake版本
cmake_minimum_required(VERSION 3.2)
# 工程名
project(ncnnTest)
# 添加OpenCV支持
find_package(OpenCV REQUIRED)
# 添加OpenMP支持
FIND_PACKAGE(OpenMP REQUIRED)
if(OPENMP_FOUND)
message("OPENMP FOUND")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
endif()
# 头文件目录
include_directories(/home/computerA/ncnn/build/install/include/ncnn)
# 库文件目录
link_directories(/home/computerA/ncnn/build/install/lib)
# 生成可执行文件
add_executable(ncnnTest test.cpp)
# 链接
target_link_libraries(ncnnTest ncnn ${OpenCV_LIBS} /home/computerA/ncnn/build/install/lib/libncnn.a)

ncnn工程编译使用(vulkan)

vulkan版本要多一些步骤,比如添加vulkan库和glslang库。具体如下:

step1 添加vulkan环境变量

  1. 命令行输入 sudo vim ~/.bashrc
  2. 添加如下vulkan库文件路径
export VULKAN_SDK={yourpath}/vulkansdk/x86_64 &&
export PATH=$VULKAN_SDK/bin:$PATH &&
export LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH &&
export LIBRARY_PATH=$VULKAN_SDK/lib:$LIBRARY_PATH &&
export VK_LAYER_PATH=$VULKAN_SDK/etc/vulkan/explicit_layer.d
  1. 命令行输入source ~/.bashrc

step2 编写CMakeLists文件

# 最低cmake版本
cmake_minimum_required(VERSION 3.2)
# 工程名
project(ncnnTest)
# 添加OpenCV支持
find_package(OpenCV REQUIRED)
# 添加OpenMP支持
FIND_PACKAGE(OpenMP REQUIRED)
if(OPENMP_FOUND)
message("OPENMP FOUND")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
endif() # 添加Vulkan支持
FIND_PACKAGE(Vulkan REQUIRED) # 头文件目录
include_directories({yourpath}/ncnn/build/install/include/ncnn {yourpath}/ncnn/build/install/include/glslang {yourpath}/ncnn/build/install/include/SPIRV ${Vulkan_INCLUDE_DIRS})
# 库文件目录
link_directories({yourpath}/ncnn/build/install/lib)
# 生成可执行文件
add_executable(ncnnTest squeezenet.cpp)
# 链接
target_link_libraries(ncnnTest ncnn ${OpenCV_LIBS} Vulkan::Vulkan {yourpath}/ncnn/build/install/lib/libglslang.a {yourpath}/ncnn/build/install/lib/libOGLCompiler.a {yourpath}/ncnn/build/install/lib/libOSDependent.a {yourpath}/ncnn/build/install/lib/libSPIRV.a {yourpath}/ncnn/build/install/lib/libncnn.a)

参考

Linux(Ubuntu)上的VULKAN环境配置步骤记录
在Ubuntu上进行ncnn+vulkan的测试

在windows环境下基于Clion的Vulkan配置

最新文章

  1. Python 基础之三条件判断与循环
  2. CentOS下安装Redis及Redis的PHP扩展
  3. Salesforce + AngularJS + Bootstrap
  4. [ZOJ2760]How Many Shortest Path(floyd+最大流)
  5. Memcached内存分配优化及使用问题
  6. android listview getviewtypecount和getItemViewType
  7. Quartz.NET 2.0 学习笔记(1) :Quartz.NET简介
  8. GIT GUI的使用(转)
  9. centos64位安装32位C/c++库
  10. 最少步数(bfs)
  11. 从控制台读取password - C#
  12. 初试pyspider
  13. Shell——数学计算
  14. 如何发起、防御和测试XSS攻击,我们用DVWA来学习(上)
  15. keepalived--小白博客
  16. vscode "find all references" 提示: no result found.
  17. 别人的Linux私房菜(22)软件安装:源代码与Tarball
  18. Error: Cannot find module 'babel-runtime/regenerator'
  19. Maven学习 四 Eclipse与Maven结合的配置
  20. eclipse安装properties插件

热门文章

  1. javaweb 导出文件名乱码的问题解决方案
  2. 【听如子说】-python模块系列-AIS编解码Pyais
  3. JUC(8)Stream流式计算
  4. Vue3 SFC 和 TSX 方式自定义组件实现 v-model
  5. 3.版本穿梭&分支概述
  6. Python基础之函数:4、二分法、三元表达式、生成/推导式、匿名函数、内置函数
  7. shardingsphere-jdbc 水平分表学习记录
  8. Codeforces Round #830 (Div. 2)D2. Balance (Hard version)(数据结构)
  9. webpack中 hash chunkhash
  10. <六>指向类成员的指针