一、conquest dicom的源码链接
https://ingenium.home.xs4all.nl/dicom.html
二、修改源文件
1、源文件目录结构
根目录下
amake.bat : 进去每一个源码目录模块运行amake.bat
AsetCompiler32.bat/AsetCompiler64.bat:设置编译器、头文件路径、库文件路径
2、修改脚本
AsetCompiler64.bat为例:
rem set compiler=c:\lang\ms8amd64\bin
rem set lib=c:\lang\ms8amd64\lib
rem set include=c:\lang\ms8amd64\include
set compiler=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64
set include=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include;
set lib=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64;
本机没有lang的编译环境,使用vs2010的环境,将上三行注释掉。
3、进入命令行运行amake.bat(为了抓取运行打印)
弹窗报错
解决:
A、运行vs2010下的命令行(开始-程序...)
B、添加临时环境变量 修改amake.bat 如下
4、再次运行amake.bat
报错:
A、LINK : fatal error LNK1181: 无法打开输入文件“bufferoverflowu.lib”
搜索 bufferoverflowu.lib 未在vs2010开发环境找到 直接删除 不链接
修改 src\dgate\jpeg-6c\AMAKE.BAT
去掉 conlibs=bufferoverflowu.lib
B、opj_inttypes.h(36) : fatal error C1083: 无法打开包括文件:“inttypes.h”: No such file or directory
将包含该头文件的目录设置到工作include目录会报其他问题:
1)、下载该头文件放入src\dgate\openjpeg\目录
https://download.csdn.net/download/u014644870/10288067
2)、将opj_inttypes.h文件 报错内容改成 #include “inttypes.h”
C、odbci.hpp(74) : fatal error C1083: 无法打开包括文件:“C:\mysql-5.0.22-win32\include\mysql.h”: No such file or directory
将odbci.hpp内mysql路径改为本机安装路径
D、LINK : fatal error LNK1181: 无法打开输入文件“..\build64\total.obj”
先忽略 再次运行amake.bat
E、LINK : fatal error LNK1104: 无法打开文件“legacy_stdio_definitions.lib”
百度说在vs高版本下运行vs低版本源码时会报无法解析文件,所以需要加这个库
我们当前环境在vs2010 所以直接在src/amake.bat里删了。
最后应该编译成功,报一大堆warning,忽略。生成dgate.exe和dgate64.exe
三、编译后运行
打开update.bat
脚本只是做copy操作 前置路径错了 修改下
copy src\dgate\dgate.exe .\install
copy src\dgate\dgate.exe .\install32
copy src\dgate\dgate64.exe .\install64
copy src\dgate\dgate.exe .\webserver\cgi-bin
copy src\dgate\dgate.exe .\webserver\cgi-bin\newweb
最后直接运行ConquestDICOMServer.exe