Komunikat o błędzie podczas kompilowania projektu Visual C++ 2010, który zawiera plik Atlcomcli.h


Objawy


Rozważ następujący scenariusz:
  • Możesz skorzystać z projektu Microsoft Visual C++ 2010, który zawiera plik Atlcomcli.h.
  • Określ opcję kompilatora /J, aby zdefiniować makro _CHAR_UNSIGNED w projekcie.
  • Skompiluj projekt.
W tym scenariuszu wyświetlany jest jeden z następujących komunikatów o błędzie:
  • Błąd C2338: nie można skompilować CVarTypeInfo < char > z włączoną flagą /J lub _CHAR_UNSIGNED
  • Błąd C2338: nie można skompilować CVarTypeInfo < char * > z włączoną flagą /J lub _CHAR_UNSIGNED
Uwaga: Programu Visual C++ 2010 jest składnikiem programu Microsoft Visual Studio 2010.

Przyczyna


Ten problem występuje, ponieważ statyczne potwierdzeń w pliku Atlcomcli.h są niepoprawnie ustawione na makro CHAR_UNSIGNED.

Rozwiązanie


Rozdzielczość dla programu Visual Studio 2010 z dodatkiem Service Pack 1 (SP1)

Jeśli używasz programu Visual Studio 2010 z dodatkiem SP1, należy zainstalować poprawkę opisaną w następującym artykule bazy wiedzy knowledge base:
NAPRAW 2545588 : naruszenie zasad dostępu, po uruchomieniu aplikacji programu Visual C++ 2010, który używa pojedynczej wartości do resetowania sterująca input

Rozdzielczość dla programu Visual Studio 2010

Jeśli używasz programu Visual Studio 2010, należy zainstalować następującą poprawkę.

Informacje o poprawce

Obsługiwana poprawka jest obecnie udostępniana przez firmę Microsoft. Jednak jest ona przeznaczona do usunięcia tylko problemu opisanego w tym artykule. Zastosuj ją tylko w systemach, w których występuje ten problem. Ta poprawka może być wciąż w fazie testowania. Jeśli dany system nie jest poważnie narażony na ten problem, firma Microsoft zaleca, aby poczekać na następną aktualizację oprogramowania zawierającą tę poprawkę.

Aby natychmiast rozwiązać ten problem, skontaktuj się z biurem obsługi klienta Microsoft w celu uzyskania poprawki. Aby uzyskać pełną listę numerów telefonów pomocy technicznej firmy Microsoft oraz informacje o pomocy technicznej odwiedź następującą witrynę firmy Microsoft w sieci Web:Uwaga W wyjątkowych przypadkach opłaty za połączenie z pomocą techniczną mogą zostać anulowane, jeśli specjalista firmy Microsoft zdecyduje że określona aktualizacja, może rozwiązać Twój problem. Koszty obsługi zwykłych zastosuje się do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej aktualizacji.

Wymagania wstępne

Musi mieć Visual Studio 2010, aby zastosować tę poprawkę.

Wymagania dotyczące ponownego uruchomienia


Nie trzeba ponownie uruchomić komputer po zastosowaniu tej poprawki, jeśli jest używane żadne wystąpienie programu Visual Studio.

Informacje dotyczące zastępowania poprawek


Ta poprawka nie zastępuje żadnych innych poprawek.

Informacje o plikach


Wersja anglojęzyczna tej poprawki ma atrybuty plików (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć
Strefa czasowa
w zakładce
Data i godzina
element w Panelu sterowania.
Nazwa plikuWersja plikuRozmiar plikuDataGodzinaPlatforma
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

Obejście problemu


Aby obejść ten problem, należy wykonać tych dyrektyw pragmy można dołączyć plik 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")

Stan


Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.