Having great difficulty using wstring_convert<> in mingw-builds x64-4.8.1-win32-seh-rev5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi
I'm using NetBeans 8.0 and x64-4.8.1-win32-seh-rev5 distribution for the gcc
C++11 compiler as recommended for C++11 by the good folks at NetBeans.org.
My computer is a 64-bit Win 7 SP1.  [Also updated msys to rev 13.]
I have searched the entire distro for the C++11 wstring_convert<> class and
it is not there!  I also note that there is no codecvt file in the main
include directory (C:\Program
Files\mingw-builds\x64-4.8.1-win32-seh-rev5\mingw64\lib\gcc\x86_64-w64-mingw
32\4.8.1\include\c++).

Yes, I do need this - I have to handle the filing system on Windows, but for
some strange reason, std::ifstream constructor only supports filenames in
char (actually as far as I can tell it's the same for wifstream too, i.e.
filenames are char).  This appears to be a deficiency in the C++ standard as
both char (std::string) and wchar_t (std::wstring) should be able to be used
to specify the filename to be used for the stream.  Because of this, I have
to convert the UNICODE used in Windows for filenames into ASCII - risky,
this could fail  with valid (for Windows) filenames.
The other (related) problem is finding a way to set up main() so that the
argv is wchar_t.  Reason: main() in VS2010 programs needs to be int
_tmain(int argc, _TCHAR* argv[]) {.}.  This is so the command line UNICODE
filenames can be successfully handled.  Conversion of the main() interface
to compile with gcc requires at least:
1.	Inclusion of tchar.h (for _TCHAR and other defs)
2.	Addition of a pre-processor definition _UNICODE (to select wchar_t
definitions for _TCHAR and __T).
3.	Something to prevent the linker error (see below) and successfully
complete. [Note the WinMain ref]

"/C/msys/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS=
.build-conf
make.exe[1]: Entering directory `/e/__Working/MOSRT/MOSRT'
"/C/msys/bin/make.exe"  -f nbproject/Makefile-Debug.mk
dist/Debug/MinGW-Windows/mosrt.exe
make.exe[2]: Entering directory `/e/__Working/MOSRT/MOSRT'
mkdir -p build/Debug/MinGW-Windows/_ext/1472
rm -f "build/Debug/MinGW-Windows/_ext/1472/OSRT.o.d"
g++ -D_UNICODE   -c -DNET_BEAN -D_UNICODE -std=c++11 -MMD -MP -MF
"build/Debug/MinGW-Windows/_ext/1472/OSRT.o.d" -o
build/Debug/MinGW-Windows/_ext/1472/OSRT.o ../OSRT.cpp
mkdir -p dist/Debug/MinGW-Windows
g++ -D_UNICODE    -o dist/Debug/MinGW-Windows/mosrt
build/Debug/MinGW-Windows/_ext/1472/OSRT.o
build/Debug/MinGW-Windows/_ext/1472/TCodeMaker.o
build/Debug/MinGW-Windows/_ext/1472/TDefs.o
build/Debug/MinGW-Windows/_ext/1472/TInfo.o
build/Debug/MinGW-Windows/_ext/1472/TMessage.o
build/Debug/MinGW-Windows/_ext/1472/TTaskIdentity.o
build/Debug/MinGW-Windows/_ext/1472/ini.o
build/Debug/MinGW-Windows/_ext/1472/log.o 
c:/program
files/mingw-builds/x64-4.8.1-win32-seh-rev5/mingw64/bin/../lib/gcc/x86_64-w6
4-mingw32/4.8.1/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64
_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup+0x25): undefined reference
to `WinMain'
collect2.exe: error: ld returned 1 exit status
nbproject/Makefile-Debug.mk:69: recipe for target
`dist/Debug/MinGW-Windows/mosrt.exe' failed
make.exe[2]: *** [dist/Debug/MinGW-Windows/mosrt.exe] Error 1
make.exe[2]: Leaving directory `/e/__Working/MOSRT/MOSRT'
nbproject/Makefile-Debug.mk:66: recipe for target `.build-conf' failed
make.exe[1]: *** [.build-conf] Error 2
make.exe[1]: Leaving directory `/e/__Working/MOSRT/MOSRT'
nbproject/Makefile-impl.mk:39: recipe for target `.build-impl' failed
make.exe": *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 3s)

I hope you can either help or at least provide some bug tracking info so as
I can follow the progress of these issues.  The (cause of the) linker error
is the worst for me as I need to get developing and no link is a
showstopper.

With kind regards
Jack Sharman






[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux