在VS2010上选用release,在静态库中使用MFC来编译出现的问题
我的程序在VS2010开发平台上选用debug模式,无论是静态编译还是动态编译都可以正常编译通过,并且生成的EXE程序正常运行。在release模式,使用动态编译也可以正常编译通过,但是采用静态编译即把MFC的使用选为“在静态库中使用MFC”,运行库选择“多线程(/MT)”,就会出现以下的错误(我也已经把release的编译环境改成与debug的编译环境一样了):(请各位大虾帮忙,在此先感谢了)
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\cstringt.h(1362): error C2664: “__noop”: 不能将参数 1 从“bool”转换为“const char *”
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1> C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\cstringt.h(1361): 编译类 模板 成员函数“int ATL::CStringT<BaseType,StringTraits>::Compare(const char *) const”时
1> with
1> [
1> BaseType=char,
1> StringTraits=StrTraitMFC<char>
1> ]
1> C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\afx.h(912): 参见对正在编译的类 模板 实例化“ATL::CStringT<BaseType,StringTraits>”的引用
1> with
1> [
1> BaseType=char,
1> StringTraits=StrTraitMFC<char>
1> ]
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\atlconv.h(119): error C2664: “__noop”: 不能将参数 1 从“bool”转换为“const char *”
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1> C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\atlconv.h(265): 参见对正在编译的函数 模板 实例化“void ATL::AtlConvAllocMemory<CHAR>(_CharType **,int,_CharType *,int)”的引用
1> with
1> [
1> _CharType=CHAR
1> ]
1> C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\atlconv.h(258): 编译类 模板 成员函数“void ATL::CA2AEX<>::Init(LPCSTR) throw(...)”时
1> H6StreamHttp.cpp(77): 参见对正在编译的类 模板 实例化“ATL::CA2AEX<>”的引用
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\atlconv.h(120): error C2664: “__noop”: 不能将参数 1 从“bool”转换为“const char *”
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\atlconv.h(121): error C2664: “__noop”: 不能将参数 1 从“bool”转换为“const char *”
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换