VC6的release版本问题2
vb748 2009-11-26 01:45:16 上一个问题我没说详细:
我软件里面对MATLAB的环境设置:
VC中调用Matlab引擎的设置:
1、Tools-->Options-->Directories-->Include Files中添加:matlab安装目录\extern\include;
Tools-->Options-->Directories-->Library Files中添加:matlab安装目录\EXTERN\LIB\WIN32\MICROSOFT\MSVC70;和版本有关
2、Project-->Settings-->Link-->Object/Library modules中添加:libeng.lib libmx.lib
编译出来的release版本exe在启动的时候会查找 “libeng.dll”,如果没找到就启动不了> <.
现在我想知道怎么设置VC6让这个release 版本exe在启动的时候不查找这些dll只在用户用
到MATLAB的时候去找?如果找不到就报错但是不退出软件...
试了下动态链接这个“libeng.dll”,发现如果不去掉环境设置里面的第二步,那么软件还是在用静态链接,去掉第二步后就提示所有和MATLAB引擎相关的命令 是unresolved externals:
Linking...
MainFrm.obj : error LNK2001: unresolved external symbol _engOutputBuffer
MainFrm.obj : error LNK2001: unresolved external symbol _engEvalString
MainFrm.obj : error LNK2001: unresolved external symbol _engClose
MainFrm.obj : error LNK2001: unresolved external symbol _engOpen
MainFrm.obj : error LNK2001: unresolved external symbol _engSetVisible
Debug/GETdVG_1.exe : fatal error LNK1120: 5 unresolved externals
总结一下,就是程序不变,还是调用MATLAB引擎,只是将启动程序时载入libeng.dll改成用户触发时载入。
3x~~