WindRiver编译小结
windriver编译设置
工程右键属性,Build Properties 中 Build Macros下DEFINES下设置宏定义
工程右键属性,c/c++ General下Indexer下Paths and Symbol里,Include Paths框内Build点击左侧小三角即显示工程依赖头文件路径,其中带红色x的是不存在的路径,若想要添加或删除路径点击右侧Edit进入編辑界面,即可修改路径。
工程右键属性,Build Properties 中Libraries中添加想要依赖的库。
工程右键属性,Build Properties 中Build Paths中添加头文件的路径。
编译时可能的问题
编译前要clear
编译的include路径\动态库路径设置好
编译前把中间文件生成好
道系统引入外部动态库:头文件+动态库(麒麟下不予编译,vxworks下宏定义解封编译)
道系统的动态库是.so后缀\可执行文件.vxe
受制于道系统,播放音视频得自己想办法
分文件夹应当更加清楚一些
有些ui_XXX.h中会包含相对路径,导致无法正常引入,需要注意
自己做编译实验得出的结论:windriver只是个交叉编译用的工具,编成.so还是.vxe的命念行指令暂不清楚如何设置
原料:【源码】【依赖库】【中间文件(主要是QT生成的中间.h.cpp)】
设置:在右键出的项目设置里配好了依赖路径了(有顺序要求)和T依赖库】
构建:在这值得编译环境的名字的文件夹中找到编译好的文件即可。
另外,之前我又同时所说产生中间文件的“不要覆盖”,在编译过程中是没有问题的,可以偷懒不去删除一些用不到的cpp或头文件。
但是在20201207的部署时后台报错是类似
[Undefined PLT symbol"_ZN14MainWindowTIHS18InitunHandledTableEv"]
这类错误(……ZN14,代表之后有14个字符是信息,18同理)
MainWindowTIHS是一个旧的但用不上的界面文件,采用“不覆盖,将原来的ui_文件放入文件夹”而编译过的就会有这个问题,经过我的逐个报错逐个删除的实验,编译通过后的报错只有动态库加载失败了(有我们依赖的动态库没vx版本的)
软件中有很多配置文件是写死在同一级目录下的,需要与编译好的可执行文件放在同级目录,在这次部署中合作单位的人告诉我上次部署的东西有大量的冗余动态库,实际上他们将大量通用库进行了集中放置,建议将启动时必须的加载文件写成配置文件形式以及目录拼接,便于部署环境变动时修改部署而不是重新编译。
——这次看到了人家单位的目录结构,是放在各个配置写好的文件夹,所有被调用动态库放在一个文件夹(包括我们的软件生成的动态库),由于我们的配置文件和资源文件放在同级污染了他们的目录结构,他们建议将自己的配置文件命名并放在同级目录下面。
还有,之前的分类总是按型号分类,实际上应当分类为"vxworks版”和"kylin版”,这在总体合作单位给的动态库里可以很好地对应,而且便于重新组织动态库的bin目录及开发插件的自带的配置文件。
实际上,还有一些没引用的动态库、引用了但不知系统版本的动态库,以及一些没用到却不敢删除的配置文件,等这些都解决了再将容易换系统版本的底层拆出来就可以实现快速多平台部署了。
用不到类似我们编译出来的“libXXXXcd.so”这类带d的动态库
WindRiver编译小结相关推荐
- Windows10 + VS2015 (Win SDK10)环境下的64位 VTK编译小结
之前在学习vtk过程中,感觉vtk的编译还是很简单的,基本上不会碰到什么棘手的错误.但是,当我在Win10+VS2015这个环境下配置时,却遇到了麻烦.经过一番折腾之后,终于将vtkbian编译成功了 ...
- WebKit编译小结
在Windows平台上利用微软的VS编译WebKit,然后在VS IDE里设置断点跟踪WebKit的运行,是一件很好玩的事情.到目前为止,我们至少可以通过两个开源项目来做这件事情:Apple的WebK ...
- FlightGear编译小结
养成写Blog的习惯,把平时遇到的一些有价值的事情记录下来,这并不是每个人都能做到的.由于推免没能推到自己第一想要的方向,退而求其次,我就来到嵌入式方向,并且毕业设计也在这边的实验室做,安排的任务跟计 ...
- Windows10 + VS2015 环境下对gdal2.0.1进行64bit编译小结
这是官方给出的编译指导,但是在实践过程中有几点仍然需要特别注意. Tip 1:不要使用默认的"VS开发人员命令提示"工具,使用该工具会遭遇如下的错误: 正在创建库 gdal_i.l ...
- Android编译小结(新建android项目)
点击打开链接 正式开始一个新的平台,以前的项目拿到的代码都是供应商改好的,感觉有很多不规范的地方. 这次从一个全新的项目着手,严格按照android规范进行项目的添加.板级文件的支持.目标是争取不改动 ...
- linux内核编译感想,Linux内核编译小结
初步了解Linux编译内核: Linux默认内核存放路径为/boot Linux内核的版本号: LINUX采用双树系统:一为稳定树,二为开发树.一般是新特性及实验性改进首先在开发树中进行,经过测试后, ...
- catkin tools/make 编译小结
一.catkin tools 安装 sudo apt-get install python-catkin-tools catkin build -BuildPackages catkin cl ...
- 5单个编译总会编译全部_5分钟读懂JavaScript预编译
大家都知道JavaScript是解释型语言,既然是解释型语言,就是编译一行,执行一行,那又何来预编译一说呢?脚本执行js引擎都做了什么呢?今天我们就来看看吧. 1-JavaScript运行三部曲 语法 ...
- Mac 平台 Android FFmpeg 编译与集成实践
文章目录 FFmpeg 是什么 为什么要学 FFmpeg 开发 FFmpeg 编译 1. 编译环境准备 2. FFmpeg 环境配置 3. 完整的脚本 4. FQA 编译小结 在Android Stu ...
- 定制化ROM采坑之路(1):魔趣8.1版本源码下载和编译过程
前言 记得当年刚接触Android的时候,就看有关老罗的文章倒是让我的安卓内功提升不少,但是由于工作都是停留在应用层的缘故,我几乎对这块并没有深入研究,最近公司的新产品对Framework层的开发有所 ...
最新文章
- elasticsearch如何安全重启
- 基于外卖评论的舆情风控
- npm 安装less插件_Gulp 开发 HTML 静态页面和 Less 实时更新
- Spring MVC能响应HTTP请求的原因?
- 运放全波整流电路_10种精密全波整流电路
- 事务默认的传播属性和事务默认的隔离级别
- MS SQL入门基础:系统数据库
- 【Python爬虫】Scrapy爬虫框架
- URL 地址含汉字无法解析问题
- 【JAVA SE】第十三章 序列化与反序列化
- python动态图片转字符画_【小工具】使用python将图片转彩色字符画
- 模板函数:将string类型变量转换为常用的数值类型和常用的数值类型转String
- Andrew ng 深度学习课程笔记
- fckeditor for java_FCKeditor最新版本2.4.1 for java 教程
- 对于PHP面试知识点的小结
- 如何开放云服务器端口
- 芝麻信用获世界级安全认证
- 把单元格一分为二_excel如何把一个单元格分成两个 excel单元格拆分为二行
- html里面链接,html – 链接里面的一个链接
- Iron WebScraper 网络爬虫
热门文章
- 基于荔枝派Lichee Nano(全志f1c100s)的u-boot移植(一)
- 电压跟随器的作用及特点
- 毕业设计系列1--基于ESP8266设计智能插座--材料清单
- 怎么把电脑图片转文字?只需这几步就可以截图转文字
- 短信验证码功能(阿里云版)
- 计算机管理规划,2019年计算机软考系统规划与管理师考试大纲
- 难得清醒好文:年轻人你活着不是为了看K线——李小鹏
- 输出100以内的素数
- 当不知轴承型号时如何寻找轴承故障频率_专家总结的齿轮箱滚动轴承故障诊断方法,值得收藏!...
- android弹窗不能手动关闭_如何检测弹窗、并关闭相应的安卓弹窗