NDK工程使用ncnn vulkan包提示需要frtti、fexceptions

2023-10-26

这两天弄一个工程,是在安卓端部署ncnn with vulkan的项目

一般来说都会用到 try catch 或者 有些库需要用到typeid

一般的方法是在build.gradle里面加上

        externalNativeBuild {
            cmake {
                cppFlags '-std=c++11 -frtti -fexceptions'
                abiFilters "armeabi-v7a", "arm64-v8a"
            }
        }

这个网上很多我就不具体说了,但是我发现我的工程即使加了这个也还是用不了,一开始以为是自己的设置啥的有问题,后来发现只要cmake里加了ncnn就会出这个问题,因此我就认真的读了ncnn里的cmake文件一般路径为:

ncnn-xxxxxx-android-vulkan\arm64-v8a\lib\cmake\ncnn\ncnn.cmake

于是在大概57行的位置我发现了这个:

set_target_properties(ncnn PROPERTIES
  INTERFACE_COMPILE_OPTIONS "-fno-rtti;-fno-exceptions"
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/ncnn"
  INTERFACE_LINK_LIBRARIES "-fopenmp;-static-openmp;Threads::Threads;Vulkan::Vulkan;\$<LINK_ONLY:glslang>;\$<LINK_ONLY:SPIRV>;android;jnigraphics;log"
  INTERFACE_POSITION_INDEPENDENT_CODE "ON"
)

好的罪魁祸首就是他了,只要把-fno-rtti;-fno-exceptions 改成 -frtti;-fexceptions就可以了。

不过我得声明一下我也是个小白哈,具体这么改了之后对ncnn的运行性能有什么影响我没有测,如果有大佬知道更好的解决办法希望能告诉我一下,我实在是没有别的办法了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NDK工程使用ncnn vulkan包提示需要frtti、fexceptions 的相关文章

随机推荐

  • Missing global shader FCopyVelocityGridCS‘s permutation 0, Please make sure cooking was successful.

    打包好的项目报了如下错误 如何解决这个bug呢 这个问题困扰了我很久 从2022年9月左右就无法打包到现在的2023年5月31号 没想到今天解决了 最近我花了一星期的时间来研究这个bug导致 当时以为是蓝图和材质代码导致 一个个查 吧资源的
  • Python快速入门多线程与多进程

    Python快速入门多线程与多进程 多线程 多线程的含义 进程我们可以理解为是一个可以独立运行的程序单位 比如打开一个浏览器 这就开启了一个浏览器进程 打开一个文本编辑器 这就开启了一个文本编辑器进程 但一个进程中是可以同时处理很多事情的
  • 链栈C++实现

    include
  • arcpy批量将excel一些列的点坐标制作成面

    使用Arcpy可以批量将Excel表格中的点坐标制作成面 并将对应组点的属性写入到对应面的属性中 import arcpy import xlrd 设置输入数据路径 excel file r C data points xlsx 包含点坐标
  • GCC编译过程,了解编译原理

    说明 这篇文件是在读 程序员的自我修养 链接 装载与库 的一点笔记 权当时学习的记录 1 GCC编译过程分解 以HelloWorld程序为例 2 预编译 规则 命令 gcc E XXX c o XXX i 3 编译 词法分析 语法分析 语义
  • Android九宫格控件-可在ListView和RecyclerView中使用

    需求场景 熟悉Android App开发的同学 肯定都清楚 如果要显示多张图片 类似九宫格 可以用GridView或者GridLayout来做 但是如果需求要求在ListView或者recyclerView 的每个item中都显示这样一个九
  • python期末考试试卷及解析

    一 单项选择题 每题 2 分 共 20 分 1 以下关于计算机和程序设计的说法错误的是 A 高级编程语言按照计算机执行方式可分为静态语言和脚本语言 B 编译是将源代码转换成目标代码的过程 C IPO 方法是一种按输入数据 处理数据和输出数据
  • 876. 链表的中间结点

    876 链表的中间结点 简单 给定一个头结点为 head 的非空单链表 返回链表的中间结点 如果有两个中间结点 则返回第二个中间结点 示例 1 输入 1 2 3 4 5 输出 此列表中的结点 3 序列化形式 3 4 5 返回的结点值为 3
  • python爬虫入门教程(非常详细),全网最细的Python爬虫教程

    一 基础入门 1 1什么是爬虫 爬虫 spider 又网络爬虫 是指向网站 网络发起请求 获取资源后分析并提取有用数据的程序 从技术层面来说就是 通过程序模拟浏览器请求站点的行为 把站点返回的HTML代码 JSON数据 二进制数据 图片 视
  • k8s Service服务详解

    1 Service 的概念 k8s中Service定义了这样一种抽象 一个pod的逻辑分组 一种可以访问他们的策略 通常称为微服务 这一组pod能够被Service访问到 通常是通过Label Selector Service能够提供负载均
  • pyppeteer文档

    https miyakogi github io pyppeteer reference html
  • mysql8.0 tp5_tp5.sql · 雨絡丶縋憶/Tp5.1 后台 - Gitee.com

    Navicat MySQL Data Transfer Source Server localhost Source Server Version 50617 Source Host localhost 3306 Source Databa
  • #define定义标识符常量和宏

    全文目录 引言 define作用的阶段与特点 C语言程序的翻译与执行 翻译部分 编译 链接 执行部分 define定义标识符 define定义宏 宏的简介 宏的使用 宏与函数的对比 总结 引言 我们在初识C语言部分已经了解过 define可
  • 修改windows注册表使投影模式默认为复制

    可以通过以下步骤修改Windows注册表 使投影模式默认为复制 打开 运行 对话框 按下Win R 输入 regedit 并按Enter键打开注册表编辑器 在左侧面板中导航到以下路径 HKEY CURRENT USER Software M
  • Input 只能输入数字,数字和字母等的正则表达式

    经过个人实践的正则表达式 只能输入字母和数字和 onkeyup value value replace w ig 只能输入字母和数字和 onkeyup value value replace w ig JS只能输入数字 数字和字母等的正则表
  • 【计算机毕业设计】245个性化美食推荐系统

    一 系统截图 需要演示视频可以私聊 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术 让传统数据信息的管理升级为软件存储 归纳 集中处理数据信息的管理方式 本个性化美食推荐系统就是在这样的大环境下诞生 其可以帮助管理者在短时间内处理完
  • BIO,NIO,AIO的区别

    BIO NIO和AIO是Java网络编程的三种模型 BIO 同步并阻塞 服务实现模式为一个连接对应一个线程 即客户端发送一个连接 服务端要有一个线程来处理 如果连接多了 线程数量不够 就只能等待 即会发生阻塞 NIO 同步非阻塞 服务实现模
  • linux中,在变量的设置当中,单引号与双引号的用途有何不同?

    单引号与双引号的最大不同在于双引号仍然可以保存变量的内容 但单引号内仅能是一般字符 而不会游特殊符号 我们以下面的列子说明 假如我定义了一个变量 name zhangsan 现在想以name这个变量的内容定义输出myname显示 zhang
  • 端口说明大全

    20 Ftp Data 21 FTP Open Server 23 Telnet 25 Smtp 31 Master Paradise 80 53 DNS Bonk DoS Exploit 79 Finger 80 Http 110 Pop
  • NDK工程使用ncnn vulkan包提示需要frtti、fexceptions

    这两天弄一个工程 是在安卓端部署ncnn with vulkan的项目 一般来说都会用到 try catch 或者 有些库需要用到typeid 一般的方法是在build gradle里面加上 externalNativeBuild cmak