glib-2.60在win64,msys2下编译
前阵子,工作原因,需要在win7 64下的msys2来编译glib,下面是一些踩过的坑:
事先声明一下,这些个解决方式及纯粹是为了编译通过,可能有些做法不太适合一些需要正常使用的场合,烦请各位注意下。
- 最开始的时候是使用**/usr/bin/python**,来编译的但是这个部分好像不是win32版本的,所以用**/ming32/bin/python**来编译
- 编译的时候报错"缺少win32com"
这个问题困扰了我很久,但是到最后都没有解决问题,使用pip pypiwin32和pip pywin32都不行,也不知道是为什么…
但是在windows下安装python3版本之后,在进到msys2中编译就成功了(难道是因为安装了windows的python3自动补全了?????)
在安装python3的时候,因为公司电脑是win7 sp1的原因,导致缺少一个升级包,把系统升级打开,更新完所有的包就可以了。 - 由于公司办公环境的原因,导致gcc下添加了一个搜索的路径,指向一个不存在的路径,所以就报错。我就是单纯让这个部分编译过去,所以索性自己创建了一个这样的文件夹。
- 缺少某些函数,提示
undefined referece to 'xxxxx'
这个部分,主要是因为msys2下一些linux的函数没有。解决方法:- 先使用
grep在当前目录下的meson.build查找到这个函数 - 找到对应的头文件.h
- 看一下是不是可以加宏来去掉这个部分,如果不可以就把这个语句直接注释(反正是为了编译而编译)
- 先使用
- 出现一大堆的
multiple defintion "g_utf8_skip"类似的错误,解决方法如下:- 同样是使用
grep,找到这个函数所在的文件 - 查看其定义,一般跟随着一些宏
- 手动将
GVAR之类的设置成extern exclpe(_dllexport)
- 同样是使用
- 提示
undefined reference to svprintf,解决方法如下:- 使用
grep找到这个函数,然后系列索引下去 - 一般的来说就只需要找到
config.h这个文件 - 添加
#define HAVE_GOOD_PRINTF 1
- 使用
- 当test部分的
plugin_resource.c报错时,如果在msys2下,运行glib_compile_resource.exe出现....library : ? : load ...具体的忘了…=_=!,解决的方法如下:- 打开windows的命令行
- 运行上面的
glib_compile_resource.exe - 一般的会提示缺少一些dll文件,把这些个文件复制到
_build/gio下面
- 当出现
can't execute helper program(No such or directory),解决方法就是:- 把
_build/glib下的gspawn_win32_helper.exe以及gspwan_win32_helper_console.exe复制到_build/gio路径下面
- 把
- 最后编译的时候,出现一个类型不匹配的问题
gint64~~~~~~%I64d
直接把变量强转
上面就是楼主在编译glib的时候所遇到的一个坑,由于楼主时实习生,到公司就丢一个这种在msys2下编译spice客户端的任务,真的是相当的坑,就是这个glib就耗费两个月的时间,这个过程真的既无聊又痛苦,上面的一些个解决的方式都是一些权宜之计,就是纯粹是为了完成这种的编译任务所形成的结果,如果你是要完全编译,建议还是花点功夫在这个上面。
glib-2.60在win64,msys2下编译的更多相关文章
- 在 Windows msys2 下编译 scryer-prolog
by chesium 2022/7/24 深夜 参考:https://github.com/mthom/scryer-prolog/blob/master/README.md 采用 msys2 环境编 ...
- MSYS2环境下编译X265
HEVC(High Efficiency Video Coding),是一种新的视频压缩标准.可以替代H.264/ AVC编码,使得保持相同质量的情况下,体积减少40%左右.目前有多种实现版本,x26 ...
- Win64下编译OSG详细过程(Win10+VS2015+OSG3.6.3)
目录 1. 数据资源准备 2. 编译第三方库 3. 编译GDAL 4. 编译OSG 1) CMAKE_INSTALL_PREFIX: 2) BUILD_OSG_EXAMPLES/BUILD_MFC_ ...
- MinGW下编译curl-7.60.0时, 发生ERROR_FILE_NOT_FOUND undeclared
在编译curl-7.60.0时, 遇到ERROR_FILE_NOT_FOUND undeclared 这个情况, 就没法编译成功!! 下载了以往的版本, 发现是从curl-7.59.0版本开始才有 t ...
- Windows下编译YouCompleteMe流程
废话 生命在于折腾. 之前不用这个插件的原因: 因为要使这个插件起作用,前前后后需要下载几百MB(win下更是超过了1GB)的东西,包括了Clang编译器,ycmd的c艹源码还有ycm本身的vim s ...
- VS2015下编译64位GDAL总结
使用VS2015编译最新的64位GDAL(最新gdal2.11),确实有一些问题,看来双方还是太新了,有点不兼容,特总结如下. 以前经常用的通过VisualStudio IDE进行编译的方式现在似乎不 ...
- linux下编译qt5.6.0静态库——configure配置
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- linux下编译qt5.6.0静态库——configure配置(超详细,有每一个模块的说明)(乌合之众)
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- Ubuntu13.04 Eclipse下编译安装Hadoop插件及使用小例
Ubuntu13.04 Eclipse下编译安装Hadoop插件及使用小例 一.在Eclipse下编译安装Hadoop插件 Hadoop的Eclipse插件现在已经没有二进制版直接提供,只能自己编译. ...
- [转载]linux下编译php中configure参数具体含义
编译N次了 原来这么回事 原文地址:linux下编译php中configure参数具体含义作者:捷心特 php编译参数的含义 ./configure –prefix=/usr/local/php ...
随机推荐
- Debian 12 (bookworm) 安装方法及其国内软件源
摘要: Debian 12 (bookworm) 已经于2023年6月份正式发布.以下为原来信息: Debian 12 (bookworm) 预计于2023年中期发布,但是目前(2023年4月)已经处 ...
- Windows交叉编译MNN-3.0.0安卓版本库
一.写在前面 以下的步骤.流程都是基于MNN的文档,再结合自己的实践得出的,仅作为参考. 博主的环境是windows10专业版 MNN文档 MNN的Github仓库地址 二.下载MNN-3.0.0主库 ...
- Qt/C++地图导航app/支持qml/手机运行/输入起点终点规划路径/模拟轨迹移动
一.前言说明 搞Qt地图开发这块,随着研究的深入,用户的需求变化,最近又需要在手机上运行,由于本地图组件依赖浏览器控件,而手机安卓上的Qt并没有带qwebengine控件,怎么办呢,不断的努力验证下, ...
- Qt编写物联网管理平台50-超强跨平台
一.前言 跨平台的需求,除了是用户的需求外,也是为了适应日益增长的国产操作系统的发展的需要,当前国产操作系统发展的如火如荼,100%都是围绕linux系统展开,说的好听点就是站在巨人的肩膀上开发,不好 ...
- Windows7-64环境中部署OpenLayers6.4.3详细步骤
注意:OL5以后,OpenLayers采用ES6,以前OL4那种简单的加库的方法已经不适用了. Windows7-64环境中部署OpenLayers6.4.3详细步骤: 1.官方教程(英文版) 2.中 ...
- conda创建label标注环境
conda create -n label python=3.6 conda activate label pip install labeimg -i https://pypi.tuna.tsing ...
- linux下查看文件行数和列数
查看行数: wc -l 文件名 查看列数: cat 文件名 | awk '{print NF}' 注意:默认是\t分割 但是可以使用-F参数指定分隔符,例如以 | 进行分割: cat 文件名 | aw ...
- 【源码】ByteToMessageDecoder对比自定义实现
前言 在上一篇随笔中,我们探讨了如何实现一套自定义通信协议,其中涉及到的粘包和拆包处理最初是完全自定义实现的,后来则改为了继承 ByteToMessageDecoder 来简化处理. 本篇将重点讨论这 ...
- 【转载】Geojson常用工具,收藏备用
收集了网上几个比较好用的网站,收藏备用 1.Geojson数据下载器:http://datav.aliyun.com/tools/atlas/#&lat=33.54139466898275&a ...
- ARM单片机知识点
1.STM32编译信息 代码占用FLASH 大小为:Code + RO-data, 7420字节(5054+2366),所用的RAM 大小为:RW-data + ZI-data, 8576(372+8 ...