首页 > 其他分享 >vs2015编译glib2.5.0

vs2015编译glib2.5.0

时间:2023-11-07 14:24:47浏览次数:25  
标签:lib vs2015 glib2.5 编译 源码 libffi 下载

1、首先安装vs2015,以及下载一个glib2.50的源码包

2、编译glib的问题

①首先解决提示找不到libintl.h的问题

需要编译安装libintl模块,可通过下载到glib仓库下载gettext-runtime-dev_0.18.1.1-1_win32包,里面提供了libintl.h和intl.lib

②解决找不到pcre.h的问题

到官网下载pcre安装包,版本为pcre-8.36,然后是使用cmake进行配置,再打开vs2015进行编译,注意下载部分版本无法正常编译,测试使用8.36是可以正常编译通过

但是重新构建glib时,提示找不到__imp_pcre_free等错误,经过网上查找资料,需要增加宏定义#define PCRE_STATIC,对应vs2015需要预处理定义那增加PCRE_STATIC。

③对应提示d:\code\glib-2.50.0\gio\gsocket.c(913): error C4819: 该文件包含不能在当前代码页(936)中表示的字符

文件编码存在问题,将这个代码文件使用notepad++打开,编码-》选择使用Utf-8-BOM编码,然后保存解决。

3、编译gobject问题

①解决提示找不到libffi.h的问题

首先到https://github.com/winlibs/libffi下载源码包,这边成功下载了版本libffi-master,然后到D:\code\libffi-master\win32\vc14_x86下打开sln项目文件,点击生成项目,项目顺利生成,但是在编译时依然提示找不到ffitarget.h

通过到源码包中查找这个文件,发现对应于编译环境在D:\code\libffi-master\src\x86目录下有对应的ffitarget.h文件,于是在include目录中增加路径D:\code\libffi-master\src\x86,成功编译通过。

3、编译gio问题

①解决提示找不到zlib.h的问题

首先到下载zlib源码包,然后是使用cmake进行配置,再打开vs2015进行编译。

编译出来的时zlibd.lib,重新编译gio还是提示找不到zlib1.lib,于是将需要的zlib1.lib改成zlibd.lib编译通过。

标签:lib,vs2015,glib2.5,编译,源码,libffi,下载
From: https://www.cnblogs.com/yyqf/p/17660297.html

相关文章

  • 交叉编译htop aarch64 (linux开发笔记)
    准备工具aarch64交叉编译工具下载htop源码http://hisham.hm/htop/index.php?page=downloads下载htop依赖ncurseshttp://ftp.gnu.org/pub/gnu/ncurses/开始编译第一步:先编译ncurser#下载wgethttp://ftp.gnu.org/pub/gnu/ncurses/ncurses-4.2.tar.gz#解压tar-zxvf......
  • 编译器Dev-C++的安装及使用
    编译器Dev-C++的安装及使用1.Dev-C++的安装下载链接:https://acm.nyist.edu.cn/file/2/Dev-Cpp_5.11_TDM-GCC_4.9.2_Setup.exe​下载​:点击此处下载安装点击安装包选择英文点击ok选择我同意无脑选下一步路径改不改都可占不了多少空间等待安装......
  • kicad 开源项目的编译
    1.安装MSYS2MSYS2 项目为编译KiCad所需的所有依赖项提供了包,点击该按钮下载安装程序安装完成后,运行MSYS2安装路径中的 msys2_shell.cmd 文件,并运行命令 pacman-Syu,更新到最新的软件包版本。如果更新了 msys2-runtime 包,请关闭shell并运行 msys2_shell.cmd2.编......
  • 编译安装nginx-systemctl
    实验:1cd/opt2wgethttp://nginx.org/download/nginx-1.18.0.tar.gz#通过网络地址下载nginx的安装包,下载到opt目录下 1tarxf  nginx-1.18.0.tar.gz#将安装包解压 #通过网络源下载依赖包 #安装完成后,在该目录下递归创建“/apps/nginx” #指明安装路......
  • 解决keil总是编译所有文件的问题
    不知怎么改变了kei的option选项,总是编译所有文件,在网上查了不少帖子,说的都不全面,也没解决,直到看到这篇文章,才解决了,又把3个选项都验证了一下,发现果然是这样的。出现这个问题,可以有以下几种解决方法:方法0:在左侧工程库文件夹上右键,optionforGroup"XXX",将AlwaysBuild去掉前勾选......
  • mac os 编译webrtc 报错screen_capturer_mac.mm:500:5: error: 'CGDisplayStreamStop'
    ../../modules/desktop_capture/mac/screen_capturer_mac.mm:462:11:error:'CGDisplayStreamUpdateGetRects'isonlyavailableonmacOS13.0ornewer[-Werror,-Wunguarded-availability-new]462|CGDisplayStreamUpdateGetRects(updateRef,kC......
  • MTK 平台单独编译指令
    记录一下MTK平台单独编译指令,方便后期调试MTK平台编译指令先全编译source环境:sourcebuild/envsetup.shlunch对应编译工程:lunchfull_XXXXX项目-eng(eng可以换成user/userdebug)全部编译:make-j322>&1|teeout/build.log-j32表示使用32个线程来编译该工程,......
  • 编译u-boot
    编译u-boot源码仓库:https://github.com/u-boot/u-boot‍可以在源码的configs目录下面的看到支持的类型​​‍选择合适的架构,比如说,我现在需要用qemu来跑一个aarch64的内核适合qemu的配置有这些​​‍我们选择qemu和arm64那就是qemu_arm64_defconfig,回到u-......
  • gcc 为什么在arm 开发板上 就是编译的arch64 , 在虚拟机中编译的就是 x86
     在开发板上,编译命令如下,并且程序也是可以运行的。  看看原因。    所以在板子上编译的是aarch64架构的。......
  • ZPN项目 3:使用 Intel ICX 编译多线程动态运行时pyd的失败记录
    使用Pybind11,可以生成供python调用接口的C++动态链接库,该库包含一个符合python启动签名的函数,并以pyd为后缀。编译生成该库,与生成一般C++库基本一致。特殊地,当采用以下全部配置生成时,程序的调用将失败:使用icx-cl编译器(兼容MSVC编译器标识的icx编译器)使用多线程动态运行时标......