chemeris / msinttypes

Automatically exported from code.google.com/p/msinttypes
49 stars 30 forks source link

[VS 2008] SmartDevice Win32 Project: second C linkage of overloaded function #2

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Setup a new Win32 SmartDevice project in Visual Studio 2008
2. Add to the headers path the stdint.h file
3. Compile

What is the expected output? What do you see instead?
No compiler issues are expected, instead this errors pops up:
Error   1   error C2733: second C linkage of overloaded function 'wmemchr'
not allowed C:\Programmi\Windows Mobile 6
SDK\PocketPC\include\ARMV4I\wchar.h 115 HAL
Error   2   error C2733: second C linkage of overloaded function 'wcschr' not
allowed C:\Programmi\Windows Mobile 6
SDK\PocketPC\include\ARMV4I\wchar.h 117 HAL
Error   3   error C2733: second C linkage of overloaded function 'wcspbrk'
not allowed C:\Programmi\Windows Mobile 6
SDK\PocketPC\include\ARMV4I\wchar.h 119 HAL
Error   4   error C2733: second C linkage of overloaded function 'wcsrchr'
not allowed C:\Programmi\Windows Mobile 6
SDK\PocketPC\include\ARMV4I\wchar.h 121 HAL
Error   5   error C2733: second C linkage of overloaded function 'wcsstr' not
allowed C:\Programmi\Windows Mobile 6
SDK\PocketPC\include\ARMV4I\wchar.h 123 HAL

What version of the product are you using? On what operating system?
I'm using the r21 of the stdint.h.

Please provide any additional information below.
For what i've seen the issue is in the first few lines of the header.
The extern clause for the include of the wchar.h should be in place even if
the compiler version (_MSC_VER) is more than 1300 (in my case is 1500).

Original issue reported on code.google.com by vale...@javaground.com on 22 Jan 2009 at 9:07

GoogleCodeExporter commented 9 years ago
Thanks for your detailed report.
I think the problem is that you're trying to compile for WM6/ARM. I've tested 
it only
for Win32/x86/x86_64 targets. Could you try to compile the same code for Win32 
and
see if the error persists? If so, I'll add a check for non-x86 targets.

Original comment by alexander.chemeris on 22 Jan 2009 at 11:22

GoogleCodeExporter commented 9 years ago
I tried a Win32 windows application for x86. The stdint.h was compiled with no 
issue.

Original comment by vale...@javaground.com on 23 Jan 2009 at 9:57

GoogleCodeExporter commented 9 years ago
I hope I've fixed this in r23. Please try and report results.

Original comment by alexander.chemeris on 12 May 2009 at 7:54

GoogleCodeExporter commented 9 years ago

Original comment by ipse....@gmail.com on 12 May 2009 at 7:55

GoogleCodeExporter commented 9 years ago
Sorry, correct fix is in r24. Please use it instead.

Original comment by ipse....@gmail.com on 13 May 2009 at 10:58

GoogleCodeExporter commented 9 years ago
I tried with latest 26th revision then also the same error persists.any other
alternate solution?

Original comment by daffy...@gmail.com on 19 Mar 2010 at 7:11

GoogleCodeExporter commented 9 years ago
daffyjoe, could you elaborate on your setup?
What is your Visual Studio version?
What is a target platform for project you're trying to build?

Original comment by alexander.chemeris on 19 Mar 2010 at 8:24

GoogleCodeExporter commented 9 years ago
I also encounter this problem with Visual Studio 2005 when building for ARM. It 
occurs even with a bare-bones project containing nothing other than the 
pre-compiled header support (stdafx.{h,cpp}) and a simple #include <stdint.h> 
in the file implementing main(). The project is created with "New Project > 
Other Languages > Visual C++ > Smart Device > Win32 Smart Device Project" 
targeted at "Pocket PC 2003", type "Console application" (and ATL and MFC 
switched unchecked). I have attached a sample project, created as described 
here, in which the error manifests under VS2005.

Original comment by ericsuns...@gmail.com on 9 Aug 2010 at 4:26

Attachments: