ATL库:警告LNK4254和LNK4078

ATL library :warning LNK4254 and LNK4078

本文关键字:LNK4078 LNK4254 警告 ATL      更新时间:2023-10-16

我正在Windows 7下使用Visual C++2010进行一个项目。我需要使用ATL库,事实上我安装了Windows WDK(版本7600.16385.1)特别是我使用WDK 中的以下库

  • setupapi.lib
  • atls.lib
  • atlsd.lib
  • atl.lib
  • atlthunk.lib

编译我的代码我有以下警告:

atls.lib(stdafx.obj):警告LNK4254:节"ATL"(50000040)合并到具有不同属性的".rdata"(40000040)

atls.lib(stdafx.obj):警告LNK4078:发现多个具有不同属性的"ATL"节(40301040)

有人知道怎么修吗?我担心可能的内存泄漏或访问数据时出现问题。感谢

我在使用Visual Studio 2010速成版和取自WDK 7.1的ATL时收到了相同的警告。atl-lib似乎是用不同于您的项目从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)

警告也消失了。