Съобщение за грешка при съставянето на Visual C++ 2010 проект, който включва файла Atlcomcli.h


Симптоми


Да разгледаме следния сценарий:
  • Имате Microsoft Visual C++ 2010 проект, който включва Atlcomcli.h файла.
  • Задавате /J компилатор възможност да се определи _CHAR_UNSIGNED макроса в проекта.
  • Компилирате проекта.
При този сценарий получавате едно от следните съобщения за грешка:
  • грешка C2338: CVarTypeInfo < знак > не се спазва /J или _CHAR_UNSIGNED флаг за поддръжка
  • грешка C2338: CVarTypeInfo < знак * > не се спазва /J или _CHAR_UNSIGNED флаг за поддръжка
Забележка Visual C++ 2010 е компонент на Microsoft Visual Studio 2010.

Причина


Този проблем възниква, защото статичен твърдения във файла Atlcomcli.h са зададени неправилно CHAR_UNSIGNED макрос.

Решение


Решение за Visual Studio 2010 Service Pack 1 (SP1)

Ако използвате Visual Studio 2010 SP1, инсталирайте актуалната корекция, описана в следната статия от базата знания:
2545588 решение: непозволен достъп до, когато изпълнявате Visual C++ 2010 приложение, което използва стойности, за да възстановите въвеждане iterator

Решение за Visual Studio 2010 г.

Ако използвате Visual Studio 2010, инсталирайте следната актуална корекция.

Информация за актуалната корекция

Вече се предлага от Microsoft предоставя поддържана актуална корекция. Но тя е предназначена да коригира само проблема, описан в тази статия. Прилагайте корекцията само към системи, изпитващи този конкретен проблем. Възможно е провеждането на допълнителни тестове на тази актуална корекция. Следователно ако не сте силно засегнати от този проблем, препоръчваме да изчакате следващата актуализация на софтуера, който ще съдържа тази корекция.

За незабавно решаване на проблема, се обърнете към услугите за поддръжка на клиенти на Microsoft да получите актуалната корекция. За пълен списък на телефонните номера на отдела за поддръжка на Microsoft и информация за цените на поддръжката посетете следния уеб сайт на Microsoft:Забележка: При специални случаи таксите, които са за свързани с поддръжката обаждания могат да бъдат отменени, ако специалист по поддръжката на Microsoft прецени, че конкретна актуализация може да разреши проблема. Обичайните такси за поддръжката ще важат за допълнителни въпроси и проблеми, които не спадат към съответната актуализация.

Необходими условия:

Трябва да имате Visual Studio 2010, за да приложите тази актуална корекция.

Изискване за рестартиране


Не трябва да рестартирате компютъра след прилагане на актуалната корекция ако няма екземпляр на Visual Studio се използва.

Информация за заместване на актуалната корекция


Тази актуална корекция не замества други спешни корекции.

Файлова информация


Англоезичната версия на тази спешна корекция има файлови атрибути (или по-нови файлови атрибути), които са изброени в следващата таблица. Датите и часовете за тези файлове са изброени в координирано световно време (UTC). При преглед на информацията за файла, преобразувана в местно време. За да намерите разликата между UTC и местното време, използвайте
Часова зона
раздел в
Дата и час
елемент в контролния панел.
Име на файлВерсия на файлаРазмер на файлаДатаВремеПлатформа
Atl100.dll10.0.30319.314158,53628-May-201007:55x64.pdb
Atl100.dll10.0.30319.314385,35228-May-201008:01IA-64
Atl100.dll10.0.30319.314138,05628-May-201008:07x86.pdb
Microsoft_vc100_atl_i64.pdb.msm163,84028-May-201006:57
Microsoft_vc100_atl_x64.pdb.msm87,04028-May-201006:59x64.pdb
Microsoft_vc100_atl_x86.pdb.msm80,89628-May-201007:00x86.pdb
Microsoft_vc100_crt_i64.pdb.msm802,81628-May-201006:57
Microsoft_vc100_crt_x64.pdb.msm568,32028-May-201006:59x64.pdb
Microsoft_vc100_crt_x86.pdb.msm556,54428-May-201007:00x86.pdb
Microsoft_vc100_debugcrt_i64.pdb.msm1,522,17628-May-201006:57
Microsoft_vc100_debugcrt_x64.pdb.msm831,48828-May-201006:58x64.pdb
Microsoft_vc100_debugcrt_x86.pdb.msm784,89628-May-201007:00x86.pdb
Microsoft_vc100_debugmfc_x64.pdb.msm6,876,67228-May-201006:58x64.pdb
Microsoft_vc100_debugmfc_x86.pdb.msm6,240,25628-May-201006:59x86.pdb
Microsoft_vc100_debugopenmp_i64.pdb.msm98,81628-May-201006:57
Microsoft_vc100_debugopenmp_x64.pdb.msm48,12828-May-201006:58x64.pdb
Microsoft_vc100_debugopenmp_x86.pdb.msm48,12828-May-201006:59x86.pdb
Microsoft_vc100_mfc_x64.pdb.msm5,287,93628-May-201006:58x64.pdb
Microsoft_vc100_mfc_x86.pdb.msm4,660,22428-May-201006:59x86.pdb
Microsoft_vc100_mfcloc_x64.pdb.msm135,68028-May-201006:58x64.pdb
Microsoft_vc100_mfcloc_x86.pdb.msm135,68028-May-201006:59x86.pdb
Microsoft_vc100_openmp_i64.pdb.msm65,53628-May-201006:57
Microsoft_vc100_openmp_x64.pdb.msm39,42428-May-201006:57x64.pdb
Microsoft_vc100_openmp_x86.pdb.msm37,88828-May-201006:59x86.pdb
Crtversion.h59127-May-201021:11
Atl100.i64.pdb4,018,17627-May-201022:26
Atl100.x64.pdb3,788,80027-May-201022:34x64.pdb
Atl100.x86.pdb3,854,33627-May-201022:36x86.pdb
Mfc100.x64.pdb27,357,18428-May-201000:20x64.pdb
Mfc100.x86.pdb24,162,30428-May-201001:09x86.pdb
Mfc100d.x64.pdb29,995,00828-May-201000:19x64.pdb
Mfc100d.x86.pdb27,619,32828-May-201001:08x86.pdb
Mfc100u.x64.pdb27,504,64028-May-201000:20x64.pdb
Mfc100u.x86.pdb24,350,72028-May-201001:09x86.pdb
Mfc100ud.x64.pdb30,257,15228-May-201000:19x64.pdb
Mfc100ud.x86.pdb27,914,24028-May-201001:08x86.pdb
Mfcm100.x64.pdb3,813,37628-May-201000:20x64.pdb
Mfcm100.x86.pdb3,903,48828-May-201001:11x86.pdb
Mfcm100d.x64.pdb3,944,44828-May-201000:20x64.pdb
Mfcm100d.x86.pdb3,960,83228-May-201001:11x86.pdb
Mfcm100u.x64.pdb3,829,76028-May-201000:20x64.pdb
Mfcm100u.x86.pdb3,919,87228-May-201001:11x86.pdb
Mfcm100ud.x64.pdb3,960,83228-May-201000:20x64.pdb
Mfcm100ud.x86.pdb3,977,21628-May-201001:11x86.pdb
Msvcp100.i64.pdb3,312,64027-May-201022:25
Msvcp100.x64.pdb4,049,92027-May-201022:33x64.pdb
Msvcp100.x86.pdb3,746,81627-May-201022:36x86.pdb
Msvcp100d.i64.pdb3,869,69627-May-201022:25
Msvcp100d.x64.pdb4,959,23227-May-201022:33x64.pdb
Msvcp100d.x86.pdb4,369,40827-May-201022:36x86.pdb
Msvcr100.i64.pdb5,549,05627-May-201022:25
Msvcr100.x64.pdb6,769,66427-May-201022:33x64.pdb
Msvcr100.x86.pdb8,866,81627-May-201022:35x86.pdb
Msvcr100d.i64.pdb6,024,19227-May-201022:25
Msvcr100d.x64.pdb8,375,29627-May-201022:33x64.pdb
Msvcr100d.x86.pdb7,891,96827-May-201022:36x86.pdb
Vcomp100.i64.pdb1,634,30427-May-201023:30
Vcomp100.x64.pdb1,617,92028-May-201000:21x64.pdb
Vcomp100.x86.pdb1,699,84028-May-201001:11x86.pdb
Vcomp100d.i64.pdb1,757,18427-May-201023:30
Vcomp100d.x64.pdb1,757,18428-May-201000:21x64.pdb
Vcomp100d.x86.pdb1,798,14428-May-201001:11x86.pdb
Src.crtversion.h75227-May-201021:54
Atl.lib14,40027-May-201022:11x86.pdb
Atl.lib16,17627-May-201022:05x86.pdb
Atl.lib13,46827-May-201022:03x86.pdb
Atlbuild.h57527-May-201021:11
Atlcomcli.h73,91326-May-201020:56
Atlconv.cpp53226-May-201020:56
Atls.lib1,509,80427-May-201022:11x86.pdb
Atls.lib1,413,15827-May-201022:05x86.pdb
Atls.lib1,209,62227-May-201022:03x86.pdb
Atlsd.lib1,836,02227-May-201022:11x86.pdb
Atlsd.lib2,091,82627-May-201022:05x86.pdb
Atlsd.lib1,664,75227-May-201022:03x86.pdb
Libcmt.lib16,845,14627-May-201022:10x86.pdb
Libcmt.lib13,210,11427-May-201022:04IA-64
Libcmt.lib13,210,11427-May-201022:04x86.pdb
Libcmt.lib18,194,11427-May-201022:02x64.pdb
Libcmt.lib18,194,11427-May-201022:02x86.pdb
Libcmtd.lib18,567,76827-May-201022:10x86.pdb
Libcmtd.lib16,919,41827-May-201022:04IA-64
Libcmtd.lib16,919,41827-May-201022:04x86.pdb
Libcmtd.lib21,006,47827-May-201022:02x64.pdb
Libcmtd.lib21,006,47827-May-201022:02x86.pdb
Libcpmt.lib8,104,96427-May-201022:10
Libcpmt1.lib8,449,77027-May-201022:10
Libcpmt1.lib9,938,39227-May-201022:02x64.pdb
Libcpmt1.lib9,400,70627-May-201022:04IA-64
Libcpmt.lib9,477,43627-May-201022:02x64.pdb
Libcpmt.lib8,864,05427-May-201022:04IA-64
Libcpmtd.lib8,846,03827-May-201022:10
Libcpmtd0.lib8,110,11627-May-201022:10
Libcpmtd0.lib10,517,02627-May-201022:02x64.pdb
Libcpmtd0.lib10,134,55027-May-201022:04IA-64
Libcpmtd1.lib8,632,61827-May-201022:10
Libcpmtd1.lib11,331,06227-May-201022:02x64.pdb
Libcpmtd1.lib11,080,72627-May-201022:04IA-64
Libcpmtd.lib11,655,65427-May-201022:02x64.pdb
Libcpmtd.lib11,500,47027-May-201022:04IA-64
Mfc100.lib5,502,92627-May-201023:19x64.pdb
Mfc100.lib5,497,94227-May-201023:47x86.pdb
Mfc100d.lib6,341,27627-May-201023:20x64.pdb
Mfc100d.lib6,327,69027-May-201023:48x86.pdb
Mfc100u.lib6,948,86227-May-201023:21x64.pdb
Mfc100u.lib7,034,80227-May-201023:49x86.pdb
Mfc100ud.lib7,997,37627-May-201023:21x64.pdb
Mfc100ud.lib8,070,92827-May-201023:49x86.pdb
Mfcm100.lib43,10427-May-201023:21x64.pdb
Mfcm100.lib41,05827-May-201023:50x86.pdb
Mfcm100d.lib46,20027-May-201023:21x64.pdb
Mfcm100d.lib44,61627-May-201023:50x86.pdb
Mfcm100u.lib44,56827-May-201023:21x64.pdb
Mfcm100u.lib42,47427-May-201023:50x86.pdb
Mfcm100ud.lib47,66227-May-201023:21x64.pdb
Mfcm100ud.lib46,03627-May-201023:50x86.pdb
Mfcs100.lib1,100,55427-May-201023:16x86.pdb
Mfcs100.lib1,096,07227-May-201023:46x86.pdb
Mfcs100d.lib1,090,29227-May-201023:16x64.pdb
Mfcs100d.lib1,063,42027-May-201023:46x86.pdb
Mfcs100u.lib1,117,89627-May-201023:17x64.pdb
Mfcs100u.lib1,113,41627-May-201023:47x86.pdb
Mfcs100ud.lib1,111,37427-May-201023:16x86.pdb
Mfcs100ud.lib1,083,21027-May-201023:46x86.pdb
Msvcmrt.lib1,716,69627-May-201022:10x86.pdb
Msvcmrt.lib1,917,11427-May-201022:02x64.pdb
Msvcmrt.lib1,917,11427-May-201022:02x86.pdb
Msvcmrt.lib2,088,53027-May-201022:04IA-64
Msvcmrt.lib2,088,53027-May-201022:04x86.pdb
Msvcmrtd.lib1,846,03227-May-201022:11x86.pdb
Msvcmrtd.lib2,067,40227-May-201022:02x64.pdb
Msvcmrtd.lib2,067,40227-May-201022:02x86.pdb
Msvcmrtd.lib2,249,63627-May-201022:04IA-64
Msvcmrtd.lib2,249,63627-May-201022:04x86.pdb
Msvcprt.lib949,24427-May-201022:10x86.pdb
Msvcprt.lib1,151,78227-May-201022:04IA-64
Msvcprt.lib1,151,78227-May-201022:04x86.pdb
Msvcprt.lib964,48427-May-201022:02x64.pdb
Msvcprt.lib964,48427-May-201022:02x86.pdb
Msvcprtd.lib964,37227-May-201022:10x86.pdb
Msvcprtd.lib1,172,96227-May-201022:04IA-64
Msvcprtd.lib1,172,96227-May-201022:04x86.pdb
Msvcprtd.lib980,62627-May-201022:02x64.pdb
Msvcprtd.lib980,62627-May-201022:02x86.pdb
Msvcrt.lib1,379,40427-May-201022:10x86.pdb
Msvcrt.lib1,527,02027-May-201022:04IA-64
Msvcrt.lib1,527,02027-May-201022:04x86.pdb
Msvcrt.lib1,396,18227-May-201022:02x64.pdb
Msvcrt.lib1,396,18227-May-201022:02x86.pdb
Msvcrtd.lib1,400,88227-May-201022:10x86.pdb
Msvcrtd.lib1,580,52827-May-201022:04IA-64
Msvcrtd.lib1,580,52827-May-201022:04x86.pdb
Msvcrtd.lib1,423,13227-May-201022:02x64.pdb
Msvcrtd.lib1,423,13227-May-201022:02x86.pdb
Msvcurt.lib31,719,96027-May-201022:11x86.pdb
Msvcurt.lib32,376,80227-May-201022:02x64.pdb
Msvcurt.lib32,376,80227-May-201022:02x86.pdb
Msvcurt.lib32,617,58027-May-201022:04IA-64
Msvcurt.lib32,617,58027-May-201022:04x86.pdb
Msvcurtd.lib33,912,24027-May-201022:11x86.pdb
Msvcurtd.lib34,532,60427-May-201022:02x64.pdb
Msvcurtd.lib34,532,60427-May-201022:02x86.pdb
Msvcurtd.lib34,813,24427-May-201022:05IA-64
Msvcurtd.lib34,813,24427-May-201022:05x86.pdb
Nafxcw.lib61,602,64427-May-201023:48x86.pdb
Nafxcw.lib73,900,88227-May-201023:20x86.pdb
Nafxcwd.lib57,192,09427-May-201023:48x86.pdb
Nafxcwd.lib72,756,64627-May-201023:19x86.pdb
Ptrustm.dll562,98627-May-201022:04IA-64
Ptrustm.dll562,98627-May-201022:04x86.pdb
Ptrustm.lib424,75627-May-201022:10x86.pdb
Ptrustm.lib475,99827-May-201022:02x64.pdb
Ptrustm.lib475,99827-May-201022:02x86.pdb
Ptrustmd.dll570,62427-May-201022:04IA-64
Ptrustmd.dll570,62427-May-201022:04x86.pdb
Ptrustmd.lib432,07027-May-201022:11x86.pdb
Ptrustmd.lib483,64827-May-201022:02x64.pdb
Ptrustmd.lib483,64827-May-201022:02x86.pdb
Ptrustu.lib322,31427-May-201022:10x86.pdb
Ptrustu.lib333,58227-May-201022:02x64.pdb
Ptrustu.lib333,58227-May-201022:02x86.pdb
Ptrustu.lib391,17627-May-201022:04IA-64
Ptrustu.lib391,17627-May-201022:04x86.pdb
Ptrustud.lib327,93227-May-201022:11x86.pdb
Ptrustud.lib339,31427-May-201022:02x64.pdb
Ptrustud.lib339,31427-May-201022:02x86.pdb
Ptrustud.lib397,44027-May-201022:04IA-64
Ptrustud.lib397,44027-May-201022:04x86.pdb
Uafxcw.lib62,774,67627-May-201023:50x86.pdb
Uafxcw.lib75,017,13227-May-201023:21x86.pdb
Uafxcwd.lib58,910,07827-May-201023:49x86.pdb
Uafxcwd.lib74,402,66227-May-201023:21x86.pdb
Vcomp.lib28,58027-May-201023:54x86.pdb
Vcomp.lib28,00427-May-201023:22x86.pdb
Vcomp.lib33,33427-May-201023:06x86.pdb
Vcompd.dll28,13027-May-201023:22x86.pdb
Vcompd.lib28,68627-May-201023:54x86.pdb
Vcompd.lib33,46227-May-201023:06x86.pdb
Mfc100.dll10.0.30319.3145,493,57628-May-201007:55x64.pdb
Mfc100.dll10.0.30319.3144,342,08828-May-201008:07x86.pdb
Mfc100chs.dll10.0.30319.31436,17628-May-201007:55x64.pdb
Mfc100chs.dll10.0.30319.31436,17628-May-201008:07x86.pdb
Mfc100cht.dll10.0.30319.31436,17628-May-201007:55x64.pdb
Mfc100cht.dll10.0.30319.31436,17628-May-201008:07x86.pdb
Mfc100d.dll10.0.30319.3146,926,16029-May-201022:57x86.pdb
Mfc100d.dll10.0.30319.3148,955,21629-May-201022:57x64.pdb
Mfc100deu.dll10.0.30319.31464,33628-May-201007:55x64.pdb
Mfc100deu.dll10.0.30319.31464,33628-May-201008:07x86.pdb
Mfc100enu.dll10.0.30319.31455,12028-May-201007:55x64.pdb
Mfc100enu.dll10.0.30319.31455,12028-May-201008:07x86.pdb
Mfc100esn.dll10.0.30319.31463,82428-May-201007:55x64.pdb
Mfc100esn.dll10.0.30319.31463,82428-May-201008:07x86.pdb
Mfc100fra.dll10.0.30319.31464,33628-May-201007:55x64.pdb
Mfc100fra.dll10.0.30319.31464,33628-May-201008:07x86.pdb
Mfc100ita.dll10.0.30319.31462,28828-May-201007:55x64.pdb
Mfc100ita.dll10.0.30319.31462,28828-May-201008:07x86.pdb
Mfc100jpn.dll10.0.30319.31443,85628-May-201007:55x64.pdb
Mfc100jpn.dll10.0.30319.31443,85628-May-201008:07x86.pdb
Mfc100kor.dll10.0.30319.31443,34428-May-201007:55x64.pdb
Mfc100kor.dll10.0.30319.31443,34428-May-201008:07x86.pdb
Mfc100rus.dll10.0.30319.31460,75228-May-201007:55x64.pdb
Mfc100rus.dll10.0.30319.31460,75228-May-201008:07x86.pdb
Mfc100u.dll10.0.30319.3145,522,76828-May-201007:55x64.pdb
Mfc100u.dll10.0.30319.3144,368,72028-May-201008:07x86.pdb
Mfc100ud.dll10.0.30319.3146,994,25629-May-201022:57x86.pdb
Mfc100ud.dll10.0.30319.3149,030,99229-May-201022:57x64.pdb
Mfcm100.dll10.0.30319.31491,47228-May-201007:55x64.pdb
Mfcm100.dll10.0.30319.31480,20828-May-201008:07x86.pdb
Mfcm100d.dll10.0.30319.314103,24829-May-201022:57x86.pdb
Mfcm100d.dll10.0.30319.314118,60829-May-201022:57x64.pdb
Mfcm100u.dll10.0.30319.31491,47228-May-201007:55x64.pdb
Mfcm100u.dll10.0.30319.31480,72028-May-201008:07x86.pdb
Mfcm100ud.dll10.0.30319.314104,78429-May-201022:57x86.pdb
Mfcm100ud.dll10.0.30319.314120,14429-May-201022:57x64.pdb
Mfcmifc80u.dll10.0.30319.31413,13629-May-201022:57x86.pdb
Msvcp100.dll10.0.30319.314608,08028-May-201007:55x64.pdb
Msvcp100.dll10.0.30319.314966,48028-May-201008:01IA-64
Msvcp100.dll10.0.30319.314421,20028-May-201008:07x86.pdb
Msvcp100d.dll10.0.30319.3141,014,09629-May-201022:57x64.pdb
Msvcp100d.dll10.0.30319.3141,978,70429-May-201022:57IA-64
Msvcp100d.dll10.0.30319.314743,24829-May-201022:57x86.pdb
Msvcr100.dll10.0.30319.314827,72828-May-201007:55x64.pdb
Msvcr100.dll10.0.30319.3141,499,47228-May-201008:01IA-64
Msvcr100.dll10.0.30319.314770,38428-May-201008:07x86.pdb
Msvcr100d.dll10.0.30319.3141,498,96029-May-201022:57x86.pdb
Msvcr100d.dll10.0.30319.3141,858,89629-May-201022:57x64.pdb
Msvcr100d.dll10.0.30319.3143,764,04829-May-201022:57IA-64
Vcomp100.dll10.0.30319.31457,16828-May-201007:55x64.pdb
Vcomp100.dll10.0.30319.314143,18428-May-201008:01IA-64
Vcomp100.dll10.0.30319.31451,02428-May-201008:07x86.pdb
Vcomp100d.dll10.0.30319.314106,83229-May-201022:57x64.pdb
Vcomp100d.dll10.0.30319.314316,75229-May-201022:57IA-64
Vcomp100d.dll10.0.30319.31487,88829-May-201022:57x86.pdb
Vcomp100ui.dll10.0.30319.31410,06429-May-201022:57x86.pdb
Vcomp100ui.dll10.0.30319.31410,57629-May-201022:57x86.pdb
Vcomp100ui.dll10.0.30319.31411,60029-May-201022:57x86.pdb
Vcomp100ui.dll10.0.30319.3149,55229-May-201022:57x86.pdb
Vcredist_ia64.exe10.0.30319.3143,117,40029-May-201001:40x86.pdb
Vcredist_x64.pdb.exe10.0.30319.31410,274,13629-May-201001:34x86.pdb
Vcredist_x86.pdb.exe10.0.30319.3149,033,04829-May-201001:46x86.pdb

Заобикаляне на проблема


За да заобиколите този проблем, следвайте тези pragma директиви да включите файла Atlcomcli.h:
#pragma push_macro("ATLSTATIC_ASSERT")#undef ATLSTATIC_ASSERT
#define ATLSTATIC_ASSERT(x,y)
#include <atlcomcli.h>
#undef ATLSTATIC_ASSERT
#pragma pop_macro("ATLSTATIC_ASSERT")

Статус


Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".