首页
社区
课程
招聘
编译7zip官方源码
发表于: 2010-11-24 10:41 15404

编译7zip官方源码

2010-11-24 10:41
15404
从官方下载的7zip源码  怎么编译出来的dll不能用  不知道为什么  谁来帮下忙。
下载地址:http://www.7-zip.org/download.html
【注意 下载这个】Download         .tar.bz2         Any         7-Zip Source code
编译出7z.dll后  用7z.exe测试一下 , 注意放同一目录 命令行方式运行
7z.exe a zip xxx.zip  *.dll
如果出现  everything is ok  则说明此dll可用。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 270
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
膜拜!!!!
2010-11-24 23:47
0
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
3
你膜拜什么耶  你不帮忙解决问题。
2010-11-25 14:18
0
雪    币: 2109
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
本来想用 mingw+msys 试试。

结果 7z/cpp/Common/MyString.h 用了 MFC。

我知道 csdn 有位前辈整理了 MFC 源码,可用于 mingw
但是没找到 makefile, 所以不太会用。

日后有空再来试试。
2010-11-25 15:32
0
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
5
木有人来接分吗?
2010-11-30 16:50
0
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这个用VC6.0就可以成功编译,进入压缩包内的CPP\7zip\Bundles\Format7zF目录,打开Format7z.dsw解决方案就能编译7z.dll文件,因为我用的是VS2010,所以有点编译问题,但肯定的是这个就是7z.dll工程。
2010-12-2 21:43
0
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
7
您能仔细看我到贴吗?
2010-12-3 21:17
0
雪    币: 21
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
你看下你编译的dll是不是有依赖项,比如crt之类的库
2010-12-3 22:31
0
雪    币: 21
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
9
一直奇怪为什么7-zip不实现注释功能
2010-12-3 22:49
0
雪    币: 193
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
没问题啊 刚才编译了一遍。
不过有几点需要注意的地方:
1)设置好VS2005的环境变量然后用nmake.exe进行编译会出现/Asm/x86/AesOpt.asm(103) : error A2008: syntax error : xmm0,官方解释是ml.exe工具版本过低,用VS2008+SP1即可,我测试了一下,确实设置VS2008+SP1的环境变量后用nmake.exe可以编译通过,但会出现下面的问题
2)我设置好VS2008+SP1的环境,然后直接用nmake进行编译虽然可以通过,但是7z.exe运行即出现运行时错误,这个错误很奇怪,难道是SP1的CRT问题?
3)直接打开Format7zF和Console下的工程升级到VS2008+SP1版本的工程可以正常编译,不管是静态链接到CRT还是动态链接到CRT都没有任何问题,只是奇怪为什么默认的输出路径是C:\UTIL\7z.exe和C:\Program Files\7-Zip\7z.dll,把他们分开放干嘛
4)7z.dll工程有四个configuration:Debug, DebugU, Release, ReleaseU,后面的U只是表示UNICODE工程而已


D:\WorkingCopy\Test\7-Zip>7z.exe a zip xxx.zip *.dll

7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Scanning

Creating archive zip.7z

Compressing 7z.dll

Everything is Ok

D:\WorkingCopy\Test\7-Zip>

2010-12-3 23:29
0
雪    币: 193
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
nmake进行编译时出现的错误可能是没有相应的宏定义的原因,很奇怪7zip怎么就没看到什么文档..一个readme都写的那么神秘:(
2010-12-3 23:39
0
雪    币: 49
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
仔细对照资料看下,我一时也说不出来
2010-12-3 23:52
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
13
更新 ml.exe 为 vs2008 sp1 及以后版本。
2010-12-4 16:51
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
......看不懂
2010-12-4 19:02
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
15
编译后有两个 7z.exe ,在 Client7z 目录下的才是用来测试 dll 的。
另一个则是独立的应用程序。你看我编译的,就可以出现你说的效果。
上传的附件:
2010-12-5 18:04
0
游客
登录 | 注册 方可回帖
返回