Reference number: DPD200253712
Affected products:
- Intel C++ Composer XE 2013 for Windows SP1 update 1 and update 2 with Microsoft Visual Studio 2013*
Problem description:
The assertion happens for the "debug" configuration only.
If you build an ATL program using Intel C++ compiler within Visual Studio 2013, and run it, you might see an error message like below:
This issue is caused by the pragma "__declspec(selectany)" that is added to "atltrace.h" of Visual Studio 2013 line 96:
__declspec(selectany) CTraceCategoryEx<CTraceCategoryEx<>::TraceGeneral> atlTraceGeneral(_T("atlTraceGeneral"));
Resolution:
This issue has been worked on. There is a simple workaround for this problem:
With the default ATL project created by Visual Studio 2013 not all source files are set to use "precompiled header". So the work-around is to make sure all the source files are set to use "precompiled header". e.g.
- Right click on file dllmain.cpp, select Properties > C/C++ > Precompiled Headers, select "Use (/Yu)" from the drop-down box.
- If you have lots of files, hold on [ctrl] key, and use mouse left-click to select all the files, and then right click on any of the selected file and select "Properties" from the context menu. Follow the same instructions above.