那你把DLL也打包给他们不就行了
解决方案 »
- 如何将数据输出到word
- 请问各位高手MSDN中的平台SDK有中文版的资料吗?或者类似的中文书请帮忙提供书名,谢谢!
- vc 用CDatabase类和CRecordset类连接局域网sql sever 2000服务器
- 感谢本论坛帮我解决难题
- ActiveX控件能否有一个事件触发程序,可以通知浏览器运行一段JavaScript代码?
- 数据运行是的问题
- 请问在dll中如何调用ADO?在线等,急
- 哪个函数设置控件edit中一行的字符数?
- 散分求助 滚动条的问题
- 关于磁盘恢复boot record的错误~!
- windows8下 服务程序无法启动exe?
- 分隔窗口的类,怎么使用,看不懂怎么办,请高手指导一下,谢谢!
或者工程编译链接的使用选择链接MFC的静态链接库
1>正在链接...
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__MoveWindow@24
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__SHBrowseForFolderA@4
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__CoCreateInstance@20
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__DialogBoxParamA@20
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__SetWindowTextA@8
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__CoUninitialize@0
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__ShowWindow@8
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__RegSetValueExA@24
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__SendDlgItemMessageW@20
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__EndDialog@8
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__RegQueryValueExA@24
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__GetDlgItem@8
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__GetWindowTextA@12
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__RegCreateKeyExA@36
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__CoInitialize@4
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__RegOpenKeyExA@20
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__SendMessageA@16
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__SHCreateDirectoryExA@12
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__LoadIconA@8
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__SHGetPathFromIDListA@8
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__LoadBitmapA@8
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__GetWindowRect@8
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__ScreenToClient@8
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__SHGetFolderPathA@20
1>install.obj : error LNK2001: 无法解析的外部符号 __imp__RegCloseKey@4
1>C:\1\zywb\Release\install.exe : fatal error LNK1120: 25 个无法解析的外部命令我搜了一下,是要在“链接器”-》“输入”-》“附加依赖项”中添加需要的lib,是吗?怎样根据“无法解析的外部符号,知道哪些库需要添加?
我的这些程序,到了新系统中,都会工作不正常。但是,我按你说的选择了“在静态库中使用MFC",然后编译,出现一大堆错误,都是“无法解析的外部符号”。当然编译不成功,也无法生成有效的可执行文件。我只好把它换回“使用标准Windows库“.然后再编译,等于是还原了。可是无意中我发现:到了新系统中,install.exe竟然可以正常安装了!
我觉得很奇怪,又用uninstall.exe试验了一下,在新系统下它确实无法正常工作,显示:“应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志。”,上网搜了一下,这是由于缺乏vs2008的运行库所致。但我回到旧系统,还是象上次那样。先选择"在静态库中使用MFC",编译当然一堆错误,再换回“使用windows标准库”,再编译,成功。拷到新系统,uninstall.exe也可以正常工作了。
最后一个是真正的输入法文件xxxx.ime,这个它原来在新系统中也不能正常工作,同样处理,先选择“在静态库使用MFC”,编译,再还原“使用标准windows库“,编译,到了新系统。这个也能正常工作了!很奇怪的事情,先选择”在静态库中使用MFC“,编译不是失败了吗?我也没有导入任何东西,然后还原,还是”使用标准windows库“。再编译,结果三个程序:install.exe uninstall.exe xxxx.ime,都能正常工作了。不知这是什么原因造成的?
2、运行时库:C运行时库msvcr90.dll和C++运行时库msvcp90.dll
C运行时库msvcr90.dll和C++运行时库msvcp90.dll,这两个都要的
C运行时库msvcr90.dll和C++运行时库msvcp90.dll,这两个都要的
非常感谢!那请问:这两个库拷到什么地方呢?是放在我自己的程序目录里就能自动生效了?还是要放到系统目录?就是c:\windows\system32非常感谢,我是不太懂,是把这两个dll放进去,它就会自动生效吗?
你问我的是我的程序是debug版本的?还是msvcr.dll库是debug版本的?msvcr.dll等库也分debug版和release版吗?那么怎么知道是什么版本的?
而是像数据处理错误, 也就是某些结构体可能在你的开发环境中是一个长度, 在运行环境中又是另一个长度 (依赖于dll版本), 这样就会导致程序访问错误而crash.
若查明原因,来贴里公布一下吧
我刚才比较了一下,先设为“在静态库中使用MFC”,然后再设回“使用标准windows库“后,生成的文件体积均增大,比如unstall.exe从96K增大到140K,而且到新系统中就可以用了。我还发现:扩展名这.pdb的文件均增大了很多,象install.pdb, uninstall.pdb以及zywb.pdb。看起来好象是你说的原因。可是,我把这些文件删除,也删除了release目录中所有文件,只留.cpp源文件,.h头文件,以及.rc资源文件,然后再编译,发现生成的uninstall.exe仍然为140K,也就是说也包含了静态库了。但我想:有时候我假如不想把静态库链接进去呢?这样一来还不行了。只有把原来的没有改过的工程拿来编译,才会生成原来的96K的不含静态库的文件。看来也不是中间文件的问题,原因暂时不明。
2.把这个目录下面的文件,C:\Program Files\Microsoft Visual Studio 9.0\VC\redist 随同程序一起发布
根据你的项目选择相应子目录里面的数据,用此方法,winpe 也可以运行mfc程序.
3.如果目标机器不是winpe,那么让目标机器安装vs对应的补丁包,很小的,就几MB.
象3d之类的软件在安装的时候,会自动安装vs相应的补丁包。基本用以上方法可以解决你要的问题