IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> libharu windows下vs编译 -> 正文阅读

[游戏开发]libharu windows下vs编译

看到网上vs编译的过程,记录一下,本人试了挺久,采用开源库编译,在windows下cmake总是失败,还是希望开源的时候能放上vs的解决方案;后来找到了一个带解决方案的sln版本的源码,虽然不是最新版本,但最终还是能用,在最后将Libharu源码上传到csdn下载里面,如果能用到的话,可以下载,工程采用vs2013,配置的是静态库方式,其他库需要自己自行下载编译。

编译Libharu需要用到zlib库和libpng库,libpng库又依赖zlib库.

zlib 下载地址:http://www.zlib.net/

libpng下载地址:http://www.libpng.org/pub/png/libpng.html

libharu下载地址:http://libharu.org/

一、编译zlib

这里我们只编译? USE MFC Shared DLL 下 的lib和dll? 字符统一设置Unicode

打开zlib-1.2.8里面的C:\libhpdf\zlib-1.2.8\zlib-1.2.8\contrib\vstudio\vc10\zlibvc.sln文件

设置?MFC Shared DLLUnicode,MDD,DLL生成选项,下面两个库也按照这个编译选项。building zlibvc即可

程序目录中生成了如下文件zlibwapid.dll和zlibwapid.lib

二、编译libpng? 编译选项同zlib

打开C:\libhpdf\lpng1624\lpng1624\projects\vstudio\vstudio.sln

去掉他自己引用的zlib目录,把$ZlibSrcDir;删除

自己手动添加zlib库目录,包含zlib的头文件,然后添加刚才生成的zlibwapid.lib目录,linker输入 依赖zlibwapid.lib

building??即可编译出libpng16.dll libpng16.lib,如果报错,加上zlib的预编译选项,

_CRT_NONSTDC_NO_DEPRECATE
_CRT_SECURE_NO_DEPRECATE
_CRT_NONSTDC_NO_WARNINGS
ZLIB_WINAPI
ASMV
ASMINF

三、编译libharu 生成libhpdf.dll

新建vs空控制台工程,设置编译选项,生成exe改成生成dll,编译选项同上面的一和二。

然后include zlib和libpng的头文件,include libharu的头文件,添加libharu的src源代码, include 生成的zlib的lib 和libpng的lib

linker 输入?libpng16.lib?zlibwapid.lib

导入libharu? win32\include下目录下的hpdf_config.h文件,并且导入libhpdf.def 文件用于生成lib文件

然后在设置预处理器里面添加zlib的如下编译选项,否则编译不通过,

_CRT_NONSTDC_NO_DEPRECATE
_CRT_SECURE_NO_DEPRECATE
_CRT_NONSTDC_NO_WARNINGS
ZLIB_WINAPI
ASMV
ASMINF

最后可能会报错?HPDF_3DAnnot_Set3DView无法引用的错误,将libhpdf.def?中的HPDF_3DAnnot_Set3DView?删除即可。

包含解决方案的源代码:libharu.rar-C++文档类资源-CSDN文库

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:25:48  更:2022-03-21 21:29:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 18:57:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码