我正在使用Windows 7下的Visual C ++ 2010创建一个项目。 我需要使用ATL库,实际上我安装了Windows WDK(版本7600.16385.1) 特别是我使用WDK的以下库
编译我的代码我有以下警告:
atls.lib(stdafx.obj):警告LNK4254:“ATL”部分(50000040)合并为具有不同属性的“.rdata”(40000040)
atls.lib(stdafx.obj):警告LNK4078:找到具有不同属性的多个“ATL”部分(40301040)
有谁知道如何修复它?我担心可能的内存泄漏或访问我的数据有一些问题。 感谢
答案 0 :(得分:9)
我对Visual Studio 2010 Express Edition和从WDK 7.1获取的ATL也有同样的警告。似乎atl libs的构建方式与您从atlbase.h获取的项目不同。我更改了atlbase.h中的设置
#pragma section("ATL$__a", read, shared) => #pragma section("ATL$__a", read)
#pragma section("ATL$__z", read, shared) => #pragma section("ATL$__z", read)
#pragma section("ATL$__m", read, shared) => #pragma section("ATL$__m", read)
并且警告消失了。