金山开源安全卫士全套代码编译指南–湘勇整理版

要从金山开源安全卫士的代码里学习,首先当然是最好能把全套代码编译出来进行调试。在开发湘勇网络医生的过程中,我一直关注金山开源安全卫士代码的更新动态,第一时间把代码下载下来并进行编译和调试。现将金山开源安全卫士全套代码的编译指南整理如下,方便各位关注金山开源安全卫士的朋友一起学习和交流。根据编译指南编译还有问题的,可在后面跟帖,我会测试和解决后整理进来。

一、编译准备工作

1、编译器 建议使用 Visual C++ 2005 或者 Visual C++ 2005 SP1

要想编译全套代码,请安装Visual C++ 2005或者Visual C++ 2005SP1,其它版本的编译器因为金山开源安全卫士的部分库只释放了Visual C++2005编译的Release版本的lib而没有源代码,会导致链接有问题。详细的说,金山的kwslib和json库的代码是不开源的,不依赖这2个库的9个项目avcenter.sln、bkver.sln、commonlib.sln、kclear.sln、kmsspeed.sln、kprocesslib.lib、lang.sln、PluginEngine.sln、SafeMon.sln是可以用VisualC++2008/2010来编译的,依赖这两个库的ksafe.sln、ksafeperfopt.sln、ksafesvc.sln、netmon.sln、vlufix.sln是无法链接成功的。

2、Windows SDK建议使用WIN7 sdk

金山官方是使用的Windows SDK 6.1版本,经测试用7.0或者7.1版本也是可以编译通过的。下载WIN7SDK的时候请注意一下,有不同平台共计3个版本的,请好好看说明,下载对应平台的版本。下错了没法安装(比如说WINXPx86下载了win7 sdk x64肯定是没法安装的)的话,得重下一个多G的文件。

集成Windows SDK到Visual Studio 2005请注意一下包含文件目录的顺序(据说WIN SDK6.1不需要这样,未证实):

在可执行文件和包含文件选项里,把WIN7 SDK的相应目录放在最前面;

在引用库文件和库文件选项里,把WIN7 SDK的相应目录放在最下面;

3、源代码和库下载

请到 code.ijinshan.com下载源代码和库文件,并将两个文件解压缩,把Lib4PCManager下面的所有目录和文件直接拷贝到解压缩的代码文件中的PCManager目录下去。

二、编译注意事项

1、参照前面的说明,金山只提供了金山开源安全卫士某些库的Visual C++2005编译的Release版本,因此必须在编译时选择编译Release版本才能无误,否则会出现链接错误。

2、先编译commonlib.sln工程,再编译其它工程。有些现实无法加载的项目,是因为这些项目的因不开源而删除,改编译其它项目即可。

3、Lang.sln实际上是拷贝百度OEM版本的金山安全卫士配置文件到编译输出目录,可不编译改项目。编译该项目后,运行开源金山安全卫士会显示是百度的版本。

三、运行的问题

2011年3月17日发布的代码中,Lang.sln配套的XML文件跟代码不符导致编译出来的程序会运行出错,不清楚后续是否修改好了。运行有问题的可自行调试或者在后面回复。

 
   

金山开源安全卫士全套代码编译指南–湘勇整理版相关推荐

  1. 金山开源安全卫士全套代码编译

    一.编译准备工作 1.编译器 建议使用 Visual C++ 2005 或者 Visual C++ 2005 SP1 要想编译全套代码,请安装Visual C++ 2005或者Visual C++ 2 ...

  2. LaTeX高亮整理Stata代码(时变空间权重矩阵)(整理版)

    最近打算用LaTeX整理一下之前的Stata代码,发现搜了一晚上教程怎么都不能高亮显示,找了一圈之后终于做出来了,现简单整理如下. 设置listings-stata.tex文件 首先要新建一个.tex ...

  3. 一份简单的在 Linux下编译及调试 C 代码的指南

    摘要: 一份简单的在 Linux下编译及调试 C 代码的指南 对于Linux下的C程序员来说,几乎天天都会和Linux打交道.但在很多人的眼中,Linux是一个易用性极差.靠命令驱动的操作系统,根本无 ...

  4. STM32变频器 源程序是经批量验证过的原始代码,仅支持VF控制,C语言实现,完全开源,Keil uVision4编译无错误

    STM32变频器 全套方案,全套 1.源程序是经批量验证过的原始代码,仅支持VF控制,C语言实现,完全开源,Keil uVision4编译无错误 2.控制板单片机为STM32F103VET6 3.控制 ...

  5. FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译

    FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译 什么是Firmament? Firmament (FMT) 是一款基于模型设计 (Model-Based-Design, M ...

  6. 腾讯代码安全指南开源,涉及 C/C++、Go 等六门编程语言

    腾讯代码安全指南旨在梳理 API 层面的风险点并提供详实可操作的编码指引,是我们开展 DevSecOps 安全左移实践探索过程中,梳理沉淀面向开发人员的代码安全参考材料. 本次开源涉及 C/C++.J ...

  7. 金山开源代码研究之一

    由于本人水平有限,因此都是从金山开源代码提取出一部分的代码,实现一个功能.当该功能实现后,再从金山开源代码中提取出另一部分的代码,然后根据那些代码实现另外的功能. 同时由于有点健忘,因此把做的代码都做 ...

  8. ATL与MFC消息分发机制的对比---由金山开源代码引出的思考(一)

    博客已迁移至:http://kulv.sinaapp.com/,这里不再使用 ATL与MFC消息分发机制的对比---由金山开源代码引出的思考 (一) 前几天刚看金山开源代码时写了一篇博客分析了一下其消 ...

  9. Android高版本P/Q/R源码编译指南

           Android高版本P/Q/R源码编译指南 Android源码编译系列博客: Android.bp你真的了解吗 Android.bp入门指南之Android.mk转换成Android.b ...

最新文章

  1. 格式化时间格式LocalDateTime转String日期
  2. zabbix监控磁盘io
  3. 教你如何做一次真正有价值的业务数据分析
  4. C# 线程知识--异步编程模型(APM)
  5. java1.8垃圾回收机制_JAVA垃圾回收机制
  6. ICT融合和创新带来制造业的持续变革
  7. Mac技巧之 Numbers 排除重复表格(去重)方法
  8. 如何用PHP判断一个网址是否被百度搜索引擎收录,判断的原理是什么?
  9. ReactOS实践(一) ReactOS 源代码编译以及VMWare下运行
  10. CES 2022:四大芯片巨头正面厮杀,抢滩自动驾驶、元宇宙
  11. iOS下载APP之后直接跳转到信任界面
  12. 房产“去库存”释放需求 集成灶市场待挖掘
  13. hive2.3.2+mysql5.7.21驱动包_2018-08-30期 Hive外部元数据库配置
  14. Win7 SMTP 服务器代替工具
  15. 烤仔的朋友们 | 一文告诉你,什么是加密艺术?
  16. c语言注释两种,C语言有几种注释方式
  17. 图片打不开怎么转换格式?怎么修改图片的格式?
  18. 【傻瓜攻略】深度学习之从入门到放弃
  19. Unity2d Rubys Adventure 课程设计报告
  20. MRCP 媒体资源控制协议

热门文章

  1. 比亚迪、长城汽车等战略投资芯片公司地平线;液化空气与西门子能源合作开发大规模水电解装置 | 美通企业日报...
  2. macOs m1(ARM架构)开发软件适配情况
  3. 接口响应慢处理总结(Java)
  4. Eclipse下通过Maven的Jetty插件运行Web工程的配置,包括启动https
  5. MySQL列名是否区分大小写
  6. hcip 第十五天笔记
  7. 苹果呼叫转移设置不了_车学堂登录不了?堂堂教您设置一下——苹果版本
  8. 企业战略有效落实的8个策略
  9. 电动机定子调压调速方法
  10. 【翻译转载】API设计那些事