WMJ
|
9fdf417c03
|
- 修复 JBIG2 编码器的导出错误 (fixed #110)
|
2022-06-04 17:27:22 +08:00 |
|
Calcitem
|
a6ef580a17
|
屏蔽 jbig2 的编译警告
因使用原始代码,无需修改,故屏蔽警告。
|
2022-01-15 08:57:33 +08:00 |
|
WMJ
|
e401763fe9
|
!移除JBIG2不必要的源文件引用
|
2022-01-14 14:31:38 +08:00 |
|
Calcitem
|
6fb0adc53c
|
将 jbig2dec 的源码还原为原始代码
并改为使用修改工程配置的方法解决编译问题。
目的是后续升级 jbig2dec 时直接使用上游新代码覆盖即可,无需再合并代码。
jbig2dec 原始代码来源为:
https://github.com/ArtifexSoftware/jbig2dec/tree/a5b9b7cd7b9ed349964eb89883c4b22c410b3398
操作步骤:
将 jbig2dec 原始代码中所有的 .h 覆盖到 JBig2/include/ 目录;
将 .c 文件覆盖到 JBig2/src/ 目录;除了 getopt.c 和 getopt1.c 两个多出来的文件未拷贝。
覆盖后这些文件撤销了之前为解决编译问题而修改的代码。
对于 Visual Studio 的编译错误:
Error C4146 unary minus operator applied to unsigned type, result still unsigned
解决方式为,在 Visual Studio 的
jbig2 Property Pages -> Configuration Properties -> C/C++ -> Command Line -> Additional Options
增加 -w24146 来解决。
Release 和 Debug 都增加。
|
2022-01-14 14:24:47 +08:00 |
|
WMJ
|
988829f6eb
|
!自动检测并使用平台生成工具(感谢@
Akarinnnnn)
|
2022-01-11 09:15:30 +08:00 |
|
WMJ
|
bbe25ff896
|
Revert "改为使用 Git 子模块的方式来管理 jbig2dec 库的源码"
|
2022-01-08 09:27:01 +08:00 |
|
Calcitem
|
6afd95620b
|
改为使用 Git 子模块的方式来管理 jbig2dec 库的源码
Git Submodule 的好处为可以简化项目依赖管理,方便更新维护。
当上游第三方库更新时,无需手动更新并提交代码,节省了版本库空间。
并且可以按需 checkout 到指定版本并提交以固定住。
(当前取 master 分支即可,因为此分支代码和 JBig2 目录的代码几乎一致,
差异点只是 JBig2 目录中的代码解决了 MSVC 下的一些编译问题,不过这些
问题是可以不修改代码就可以解决的,下文将详述之。)
并且 GitHub 等代码托管平台的依赖关系图中可以解析出库依赖关系。
相关步骤:
(1) 执行 git submodule add https://github.com/ArtifexSoftware/jbig2dec.git
(2) 移除 JBig2/include 以及 JBig2/src 下和 jbig2dec 中重复的 .h/.c 文件;
(3) 在 Visual Studio 的 Solution Explorer 中将 jbig2 项目中的 .h/.c 文件替换
为 jbig2dec 中的文件。如果 jbig2dec 目录中没有的文件,则不替换。
(4) 解决编译问题。在没有使用 Git 子模块之前,是通过修改 JBig2 目录下的代码文件
来解决编译问题的,现在改为修改编译配置解决,包括如下几点:
* Error C4996 'strdup': The POSIX name for this item is deprecated.
Instead, use the ISO C and C++ conformant name: _strdup. See online help for details.
* Error C4146 unary minus operator applied to unsigned type, result still unsigned
* Error C1083 Cannot open include file: 'strings.h': No such file or directory
上述3个编译错误通过在 Visual Studio 的
jbig2 Property Pages -> Configuration Properties -> C/C++ -> Command Line -> Additional Options
增加 -w44996 -w24146 /D "HAVE_STRING_H" 来解决。
继续编译时出现的错误,则通过将 gitopt.c、gitopt1.c、jbig2_image_pbm.c、jbig2_arith.c 添加到工程中解决。
(5) 更新 readme.md.
已知问题:
而对于 jbig2enc 目录则无法切换到 Git 子模块的形式,因为其中的修改量较大,不能直接引用原始库。
参考资料:
https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97
|
2022-01-08 03:07:01 +08:00 |
|
WMJ
|
b42bfb98fa
|
PDF补丁丁公开源代码
|
2021-12-24 20:35:03 +08:00 |
|