fatal error C1189: #error 如何修改通过编译?
编译环境 VC++.net2005环境,在编译某dll时出现如下错误提示:错误 1 fatal error C1189: #error : Building MFC application with /MD
[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or
do not use /MD[d] C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc
\include\afx.h 24
从网上搜索查了一下,修改 项目-属性-配置属性-常规-MFC使用 设置为 “在共享DLL中使用MFC”
或 修改 配置属性-C/C++-代码生成-运行时库 设置为 "多线程DLL(/MD)"
错误均未消除,修改成其他选项会提示错误提示 “Please use the /MD switch for ……”
请问如何才能正确编译? --------------------编程问答-------------------- 报错都提示了嘛。
/MD[d] 改为 /MT[d]
即 运行库改为 静态链接。 --------------------编程问答-------------------- 我试过的。
发帖时写了一句,可能表述的不太清楚。修改运行库会提示
fatal error C1189: #error : Please use the /MD switch for _AFXDLL builds --------------------编程问答--------------------
静态链接mfc库的话,那么运行库也得设置成静态链接。
动态链接mfc库,运行库也得设置成动态链接。
就这两个选项,设置成一致即可。 --------------------编程问答-------------------- 果然如此,赞一个。 --------------------编程问答--------------------
非常感谢二楼,终于解决了,原来是生成和调用dll的方式不同,被坑了好多天! --------------------编程问答--------------------
我试过的。
发帖时写了一句,可能表述的不太清楚。修改运行库会提示
fatal error C1189: #error : Please use the /MD switch for _AFXDLL builds
静态链接mfc库的话,那么运行库也得设置成静态链接。
动态链接mfc库,运行库也得设置成动态链接。
就这两个选项,设置成一致即可。
非常感谢二楼,终于解决了,原来是生成和调用dll的方式不同,被坑了好多天!
你好可不可以说具体点,生成和调用dll的方式该怎样修改?
补充:.NET技术 , VC.NET