今天在上次的基础上(原文地址:[No0000AB]用Visual Studio 2015在 WIN10 64bit 上编译7-zip (32 bit)),将7Z的源码完全移植到了vs2015开发环境下开发。其中遇到一下几类问题,简要提及一下:
-
资源重复问题:
代表项目:GUI项目FM项目
解决方法:点击菜单栏的项目------>属性------>清单工具------>输入输出------>嵌入清单------>选择否就行了,然后重新编译。
2.warning LNK4070问题:
exampleb.exp : warning LNK4070: .EXP 中的 /OUT:exampleba.dll 指令与输出文件名".\..\bin\exampleb.dll"不同
这个告警一定要改,不然程序存在隐患。
原因:对应的静态库exampleb.lib被其它工程以隐式链接的方式调用时,使用的还是exampleba.dll
解决办法:只需要改变.def文件中 LIBRARY 字段改为 "exampleb"即可。
最后,整个项目已经上传github,地址:https://github.com/charygao/7z1604-srcWithVs2015Up3/
下载好之后,放置源码的路径中不能有" "空格,或者中文,否则编译会出问题。
同时,以后如果7z官方的源码有更新,如果项目结构不变,用新源码直接覆盖vs2015的解决方案即可更新到最新源码。