最近在新装的Win7上 编译/ 运行自己的 camera_work_simultaneously.exe 程序时,发现release 编译/运行 没有问题,但是Debug版本编译通过,run时报错:“The application was unable to start correctly(0x0000006). ....”
再查看系统的event,
把在笔记本上用VC9.0发布的SCCT.exe文件拷贝到 装有Win7的 台式机BV5上进行验证,也是出同样的问题!就是调用GigEVisionSdkD.dll时依赖的GenApi_MDd_VC80.dll又依赖与Microsoft.VC80.DebugCRT的运行时库,最后没有找到Microsoft.VC80.DebugCRT。
于是进行下列步骤:
C:\Users\BV5\Desktop\SCCT\Debug
|--scct.exe
|--opencv_calib3d231d.dll
|--opencv_core231d.dll
. .
.
|--GigEVisionSdkD.dll
|--GenApi_MDd_VC80.dll
|--GCBase_MDd_VC80.dll
(Microsoft.VC90.DebugCRT下的dll放到SCCT\下)
|--Microsoft.VC90.DebugCRT.manifest
|--msvcm90d.dll
|--msvcp90d.dll
|--msvcr90d.dll
|--GenICam\bin\Win32_i86\GenApi\Generic
|--XMLLoader_MDd_VC80.dll
|--xerces-c_2_7.dll
|--Xalan-C_1_10.dll
|--XalanMessages_1_10.dll
GigEVision的在SCCT\下的目录结构参考 “发布带GigEVision的程序 http://blog.csdn.net/jtop0/article/details/6934210”
1、在Win7上(也就是 Winsxs目录下)没有Microsoft.VC80.DebugCRT 运行时库? (的确)
虽然
2、下载到Microsoft.VC80.DebugCRT 库 版本8.0.50727.762, 并分别放到应用程序目录SCCT\下 和 SCCT\GenICam\bin\Win32_i86\GenApi\Generic下(因为running时,启动camera要调用XMLLoader_MDd_VC80.dll,这个dll 又依赖于Microsoft.VC80.DebugCRT库, 当然如果能找到msi文件的Microsoft.VC80.DebugCRT直接安装到Winsxs目录下,就可以共用了,不用再把运行时库拷到SCCT\目录下了)
.
.
|--GCBase_MDd_VC80.dll
( Microsoft.VC90.DebugCRT运行时库 )
|--Microsoft.VC90.DebugCRT.manifest
|--msvcm90d.dll
|--msvcp90d.dll
|--msvcr90d.dll
( Microsoft.VC80.DebugCRT运行时库 )
|--Microsoft.VC80.DebugCRT.manifest
|--msvcm80d.dll
|--msvcp80d.dll
|--msvcr80d.dll
|--GenICam\bin\Win32_i86\GenApi\Generic
|--XMLLoader_MDd_VC80.dll
|--xerces-c_2_7.dll
|--Xalan-C_1_10.dll
|--XalanMessages_1_10.dll
|--Microsoft.VC80.DebugC