vs编译在win xp电脑上运行的win32程序遇到的问题记录(无法定位程序输入点GetTickCount64于动态链接库KERNEL32.dll)

直接编译后运行,弹出提示框:不是有效的win32应用程序

像之前那样把msvcr110.dll复制过去依然报错:

这是因为vs2012编译的win32程序用到的系统函数在xp环境上对应不上。之前转载的这篇文章讲的这个问题:http://www.cnblogs.com/rixiang/p/7918825.html

需要使用对应的平台工具集。项目右键属性,配置属性-常规-平台工具集  结果发现,只有Visual Studio 2012 (v110)这一个工具集,没有xp的工具集。

在网上查资料,发现需要update 4,之后才会有xp工具集。

VS2012 Update 4 离线安装包下载地址(ISO文件):
http://download.microsoft.com/download/D/4/8/D48D1AC2-A297-4C9E-A9D0-A218E6609F06/VSU4/VS2012.4.iso

update4之后再查看平台工具集,有了xp的工具集:

使用这个工具集后编译,在xp系统运行成功。

普通的win32程序是这样的,如果关联到其它的库什么的,恐怕都要重新编译。

我的项目要用到mysql、htmlayout、duilib,感觉还是挺麻烦啊。

2018年12月18日补充。

程序用到的dll库都要相应的用xp的平台工作集重新编译。

我用到的是duilib库,还有sqlite32库,下载源码后都重新编译即可。

 
 
标签: CC++
原文地址:https://www.cnblogs.com/rixiang/p/7991843.html