无法定位序数999于动态链接库COREDLL.dll

时间:2022-11-26 11:53:13
mfc vs2010 c++ 运行错误

9 个解决方案

#1


使用静态链接程序。。

#2


引用 1 楼 paschen 的回复:
使用静态链接程序。。


什么意思呀?怎么使用静态链接程序?

#3


引用 1 楼 paschen 的回复:
使用静态链接程序。。


我把运行库改为MT或者MTD都出现错误:
d:\2010vs\vc\atlmfc\include\afxver_.h(81): fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds

连编译都没成功,只能用MD或者MDD呢

#4


引用 3 楼 kuanbifeng6183 的回复:
Quote: 引用 1 楼 paschen 的回复:

使用静态链接程序。。


我把运行库改为MT或者MTD都出现错误:
d:\2010vs\vc\atlmfc\include\afxver_.h(81): fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds

连编译都没成功,只能用MD或者MDD呢


还要 项目属性——常规——MFC的使用:在静态库中使用MFC

#5


引用 4 楼 paschen 的回复:
Quote: 引用 3 楼 kuanbifeng6183 的回复:

Quote: 引用 1 楼 paschen 的回复:

使用静态链接程序。。


我把运行库改为MT或者MTD都出现错误:
d:\2010vs\vc\atlmfc\include\afxver_.h(81): fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds

连编译都没成功,只能用MD或者MDD呢


还要 项目属性——常规——MFC的使用:在静态库中使用MFC


那我自己重新编译的.lib和.dll是不是都得改成在这个静态库中重新编译,再加载到该项目中

#6


引用 4 楼 paschen 的回复:
Quote: 引用 3 楼 kuanbifeng6183 的回复:

Quote: 引用 1 楼 paschen 的回复:

使用静态链接程序。。


我把运行库改为MT或者MTD都出现错误:
d:\2010vs\vc\atlmfc\include\afxver_.h(81): fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds

连编译都没成功,只能用MD或者MDD呢


还要 项目属性——常规——MFC的使用:在静态库中使用MFC



还是不行呢,出现这个错误:error LNK2005: "public: static class CWnd * __stdcall CWnd::FromHandle(struct HWND__ *)" (?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z) 已经在 mfc90ud.lib(mfc90ud.dll) 中定义

看网上的回答是需要换成动态链接库。我仔细看了一下coredll.dll,在命令提示符中准备注册一下:出现这个错误
无法定位序数999于动态链接库COREDLL.dll

#7


@赵4老师 ,@paschen ,@zgl7903 ,老师们 ,求解~

#8



dumpbin.exe /EXPORTS coredll.dll
命令查看coredll.dll导出的函数列表及其各导出函数对应的序数
《Windows核心编程》
http://www.dllzj.com

#9


用depends.exe查看exe和dll依赖的其它dll及其版本号。
在64位Windows下:
64位exe和dll在目录c:\windows\sys tem32目录下;
32位exe和dll在目录c:\windows\sys wow64目录下;
所以要注意:
    在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。
    且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll

#1


使用静态链接程序。。

#2


引用 1 楼 paschen 的回复:
使用静态链接程序。。


什么意思呀?怎么使用静态链接程序?

#3


引用 1 楼 paschen 的回复:
使用静态链接程序。。


我把运行库改为MT或者MTD都出现错误:
d:\2010vs\vc\atlmfc\include\afxver_.h(81): fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds

连编译都没成功,只能用MD或者MDD呢

#4


引用 3 楼 kuanbifeng6183 的回复:
Quote: 引用 1 楼 paschen 的回复:

使用静态链接程序。。


我把运行库改为MT或者MTD都出现错误:
d:\2010vs\vc\atlmfc\include\afxver_.h(81): fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds

连编译都没成功,只能用MD或者MDD呢


还要 项目属性——常规——MFC的使用:在静态库中使用MFC

#5


引用 4 楼 paschen 的回复:
Quote: 引用 3 楼 kuanbifeng6183 的回复:

Quote: 引用 1 楼 paschen 的回复:

使用静态链接程序。。


我把运行库改为MT或者MTD都出现错误:
d:\2010vs\vc\atlmfc\include\afxver_.h(81): fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds

连编译都没成功,只能用MD或者MDD呢


还要 项目属性——常规——MFC的使用:在静态库中使用MFC


那我自己重新编译的.lib和.dll是不是都得改成在这个静态库中重新编译,再加载到该项目中

#6


引用 4 楼 paschen 的回复:
Quote: 引用 3 楼 kuanbifeng6183 的回复:

Quote: 引用 1 楼 paschen 的回复:

使用静态链接程序。。


我把运行库改为MT或者MTD都出现错误:
d:\2010vs\vc\atlmfc\include\afxver_.h(81): fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds

连编译都没成功,只能用MD或者MDD呢


还要 项目属性——常规——MFC的使用:在静态库中使用MFC



还是不行呢,出现这个错误:error LNK2005: "public: static class CWnd * __stdcall CWnd::FromHandle(struct HWND__ *)" (?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z) 已经在 mfc90ud.lib(mfc90ud.dll) 中定义

看网上的回答是需要换成动态链接库。我仔细看了一下coredll.dll,在命令提示符中准备注册一下:出现这个错误
无法定位序数999于动态链接库COREDLL.dll

#7


@赵4老师 ,@paschen ,@zgl7903 ,老师们 ,求解~

#8



dumpbin.exe /EXPORTS coredll.dll
命令查看coredll.dll导出的函数列表及其各导出函数对应的序数
《Windows核心编程》
http://www.dllzj.com

#9


用depends.exe查看exe和dll依赖的其它dll及其版本号。
在64位Windows下:
64位exe和dll在目录c:\windows\sys tem32目录下;
32位exe和dll在目录c:\windows\sys wow64目录下;
所以要注意:
    在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。
    且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll