to lionpb(很郁闷!很郁闷!很郁闷...): QQ好像就只有一个版本下载,但可以在2k,98,me,xp下运行,可见可以只编译一次就可以在其它系统下运行的。to sjrhpy(风中杨柳): 我用dumpbin查了需要用的dll了,其中一个ntdll.dll在winme下原来也有,只是找不到某函数的入口,我想直接在system下替换该dll文件,结果替换不了,在2k下我的程序用到了三个dll,msacm32.dll、ws2_32.dll、dsound.dll,而这三个dll又引用了其它的dll,你看有办法可以让该程序在winme下运行吗???
QQ好像就只有一个版本下载,但可以在2k,98,me,xp下运行,可见可以只编译一次就可以在其它系统下运行的。to sjrhpy(风中杨柳):
我用dumpbin查了需要用的dll了,其中一个ntdll.dll在winme下原来也有,只是找不到某函数的入口,我想直接在system下替换该dll文件,结果替换不了,在2k下我的程序用到了三个dll,msacm32.dll、ws2_32.dll、dsound.dll,而这三个dll又引用了其它的dll,你看有办法可以让该程序在winme下运行吗???
1. 不能使用NT专用的DLL和API调用。
2. 不要编译成UNICODE,9x 不支持 UNICODE 的API调用。
3. 一些API函数在9x下和NT下有些区别,使用时请注意。
4. 不要滥用线程,9x的调度机制远不如NTGOOD LUCK
怎样设置不编译成unicode??
没有找到任何unicode的字样,应该没有用unicode的,程序中用了线程,用了socket,唉,够麻烦的了
to sevencat(seven):
比尔建议俺们咋做呢???
程序主要调用了三个dll,分别是:dsound.dll、ws2_32.dll、msacm32.dll,是一个有关语音压缩的网络程序,其中用了direct8,程序太大了,不可能在这贴出来吧????
waiting...
关键是这三个又调用了其它的dll啊,最惨的就是调了ntdll.dll,而这个dll在winme下自带有的,好像替换不了~~~~程序就是当调用ntdll.dll时报的错
程序的选项选了不用mfc库的,跟mfc没有关系~~~~
如何打包发行啊???
::GetFileTile()在98和XP下的返回结果有不同。
(在不同系统下编译的EXE都集中在一个包里)打包发行是笨了点,但很实用。我赞同这种方式。
有些MFC里面好像有如下的代码
#ifdef UNICODE
#def afxfn afxfn
#else def afxfn afxfa
同一个结构或者函数对应不同的UNICODE或者ANSI函数
你的意思是不是需要在每种平台下都要重新编译???
to Richuen22(更深蓝):
winme下也有ntdll.dll的,你可以装一个winme查查看
to sevencat(seven):
在我的程序中没有刻意用到unicode
有没有什么捷径可循??比方说哪一种打包软件可以根据操作系统的异样执行不同的安装,但总的安装文件只有一个,像qq一样~~~~
用installshield 打包就可了.
我觉得应该有现成的打包软件可以实现该功能。to seeQe(:)一面红旗):
installshield我感觉好复杂,据说wise installation可以,我正在试,不知道是否真的行。