[fdo][FDO161][New] '_wcsnicmp' was not declared in this scope
Mateusz Loskot
mateusz at loskot.net
Wed Sep 6 22:24:57 EDT 2006
You can view the artifact detail at the following URL:
https://fdo.osgeo.org/servlets/Scarab/id/FDO161
Type
Defect
Artifact ID
FDO161 ('_wcsnicmp' was not declared in this scope)
Reported by
Mateusz Loskot
mloskot (mateusz at loskot.net)
New artifact details:
---------------------------------------------------------
- OS Distribution and Version set to new value
Ubuntu 6.06
- Platform set to new value
PC
- Summary set to new value
'_wcsnicmp' was not declared in this scope
- Steps to Reproduce set to new value
1. Download/update latest sources of fdocore
2. Try to compile
- Artifact created
- Subcomponent set to new value
UTILITIES
- Artifact Status set to new value
Unconfirmed
- Operating system set to new value
Linux
- Component set to new value
FDO
- Description set to new value
A few minutes ago I run 'svn update' to update my local copy of fdocore:
mloskot:~/dev/fdo/_svn$ svn up
U Utilities/Common/Src/FdoCommonConnStringParser.cpp
U Utilities/Common/Src/FdoCommonConnPropDictionary.cpp
U Utilities/Common/Inc/FdoCommonConnStringParser.h
U Utilities/Common/Inc/FdoCommonConnPropDictionary.h
Next, I run make (there are no new files so ./configure run is not required):
mloskot:~/dev/fdo/_svn$ make
./Inc/FdoCommonConnPropDictionary.h: In member function 'ConnectionProperty* FdoCommonPropDictionary<T>::FindProperty(const wchar_t*)':
./Inc/FdoCommonConnPropDictionary.h:751: error: there are no arguments to '_wcsnicmp' that depend on a template parameter, so a declaration of '_wcsnicmp' must be available
./Inc/FdoCommonConnPropDictionary.h:751: error: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
./Inc/FdoCommonConnPropDictionary.h: In member function 'ConnectionProperty* FdoCommonPropDictionary<T>::FindProperty(const wchar_t*) [with T = FdoIConnectionPropertyDictionary]':
./Inc/FdoCommonConnPropDictionary.h:595: instantiated from 'void FdoCommonPropDictionary<T>::SetProperty(const FdoString*, const FdoString*) [with T = FdoIConnectionPropertyDictionary]'
Src/FdoCommonConnPropDictionary.cpp:80: instantiated from here
./Inc/FdoCommonConnPropDictionary.h:751: error: '_wcsnicmp' was not declared in this scope
./Inc/FdoCommonConnPropDictionary.h: In member function 'ConnectionProperty* FdoCommonPropDictionary<T>::FindProperty(const wchar_t*) [with T = FdoIDataStorePropertyDictionary]':
./Inc/FdoCommonConnPropDictionary.h:579: instantiated from 'const FdoString* FdoCommonPropDictionary<T>::GetProperty(const FdoString*) [with T = FdoIDataStorePropertyDictionary]'
Src/FdoCommonConnPropDictionary.cpp:151: instantiated from here
./Inc/FdoCommonConnPropDictionary.h:751: error: '_wcsnicmp' was not declared in this scope
make[2]: *** [FdoCommonConnPropDictionary.lo] Error 1
make[2]: Leaving directory `/home/mloskot/dev/fdo/_svn/Utilities/Common'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/mloskot/dev/fdo/_svn/Utilities'
make: *** [all-recursive] Error 1
mloskot:~/dev/fdo/_svn$
There are two defects:
1. Unix/GCC compatibility issue
_wcsnicmp() function is not a C/C++ standard function
but Microsoft's extension.
Complete list of wcs* functions from <wchar.h> header added to the C Standard,
with Amendment 1, 1995:
http://www.dinkumware.com/manuals/?manual=compleat&page=wchar.html
2. Non-platform specific issue
Missing header (likely wchar.h) with declaration/prototype of _wcsnicmp() function.
In file FdoCommonConnPropDictionary.h, full declaration of _wcsnicmp() function
must be available, otherwise the code is ill-formed and should not compile.
Tested with GCC 4.0.3 compiler.
- Defect Severity set to new value
Critical
---------------------------------------------------------
This message was automatically generated by Project Tracker.
More information about the Fdo_issues
mailing list