2009-07-02 17:25:20     wstring support / Ultimate++

Document created by Aaronwu Employee on Aug 16, 2013
Version 1Show Document
  • View in full screen mode

2009-07-02 17:25:20     wstring support / Ultimate++

Konstantin Hartwich (GERMANY)

Message: 76709   


Hi there


i am trying to bring forward the compilation of some small test progs using Ultimate++, since it seems to me the purest ide thing to use for now, nevertheless, compiling using the blackfin toolchain (yes, you can setup ultimate++ to build your console (at least, thats great)). BUT: it mourns when i try to use some Source stuff, that comes along with Upp.


And no, i am not using the Graphic stuff, just the core. and it says. first of all, that


wstring is unknown. I was wondering around the net to find some usefull info, but it seems a great mistery, that stuff with unicode.


now the quistion is, where to find **** std::wstring, is it part of libc, toolchain, STLport (which I cant compile in current trunk revision somehow, but the code neither containes wstring anyway) or is it GCC stuff that is simply not included in bf toolchain?


i even was trying to find source code, to include it somehow, but, seems to be equally hard to find.


so it would be great to have that thing done. so we could have a lightweight IDE to use. its worth a try.


some of the compile error output here:




----- Core ( MT GCC DEBUG SHARED BLITZ LINUX ) (1 / 2)

BLITZ: Cpu.cpp Mt.cpp sheap.cpp String.cpp WString.cpp StrUtil.cpp CharSet.cpp Bom.cpp Path.cpp NetNode.cpp App.cpp Stream.cpp BlockStream.

    cpp Log.cpp Debug.cpp Util.cpp mathutil.cpp Random.cpp LocalProcess.cpp Vcont.cpp Hash.cpp Callback.cpp TimeDate.cpp Value.cpp Format.c

    pp Convert.cpp Color.cpp Gtypes.cpp t.cpp Lang.cpp parser.cpp XML.cpp Xmlize.cpp Uuid.cpp Ptr.cpp z.cpp Topic.cpp CoWork.cpp MD5.cpp SH

    A1.cpp Dli.cpp Win32Util.cpp



In file included from /home/user/upp/uppsrc/Core/Core.h:37,

                 from /home/user/upp/uppsrc/Core/Cpu.cpp:1,

                 from /home/user/upp/out/Core/BF537.Debug.Mt.Shared/$blitz.cpp:3:

/home/user/upp/uppsrc/Core/config.h:71:4: error: #error Unknown CPU architecture

/home/user/upp/uppsrc/Core/String.h:687: error: expected unqualified-id before ‘&’ token

/home/user/upp/uppsrc/Core/String.h:687: error: expected ‘,’ or ‘...’ before ‘&’ token

/home/user/upp/uppsrc/Core/String.h:687: error: ISO C++ forbids declaration of ‘parameter’ with no type

/home/user/upp/uppsrc/Core/String.h:688: error: expected type-specifier

/home/user/upp/uppsrc/Core/String.h:691: error: ‘wstring’ in namespace ‘std’ does not name a type

/home/user/upp/uppsrc/Core/Value.h: In function ‘bool Upp::operator==(const Upp::Value&, Upp::WString)’:

/home/user/upp/uppsrc/Core/Value.h:197: error: call of overloaded ‘WString(const Upp::Value&)’ is ambiguous

/home/user/upp/uppsrc/Core/String.h:687: note: candidates are: Upp::WString::WString(int)

/home/user/upp/uppsrc/Core/String.h:676: note:                 Upp::WString::WString(const char*) <near match>

/home/user/upp/uppsrc/Core/String.h:669: note:                 Upp::WString::WString(const Upp::wchar*) <near match>

/home/user/upp/uppsrc/Core/String.h:668: note:                 Upp::WString::WString(const Upp::WString&)

/home/user/upp/uppsrc/Core/Value.h: In function ‘bool Upp::operator==(Upp::WString, const Upp::Value&)’:

/home/user/upp/uppsrc/Core/Value.h:197: error: call of overloaded ‘WString(const Upp::Value&)’ is ambiguous

/home/user/upp/uppsrc/Core/String.h:687: note: candidates are: Upp::WString::WString(int)




there are some more problems: but thats next. its like seen above, the unknown processor type. does anyone know if a -D flag is specified by default, when using the blackfin compilers, like __BLACKFIN__ or something, so i could exclude the unknown processor case




and yet another problem:




... in HeapImp.h


extern thread__ Heap heap;



/home/user/upp/uppsrc/Core/HeapImp.h:164: error: thread-local storage not supported for this target

/home/user/upp/uppsrc/Core/heapdbg.cpp:66: error: thread-local storage not supported for this target

In file included from /home/user/upp/uppsrc/Core/Core.h:37,



any hints are apriciated




BTW: I set up an autotool / autotool environment for that same project, including the uppsrc directory both in -I and -L compile directives. same results, so TheIDE from Ultimate works pretty well (i could easily compile some standard progs)




2009-07-02 18:21:12     Re: wstring support / Ultimate++

Mike Frysinger (UNITED STATES)

Message: 76711   


locale support and all related functions are disabled in the default build of uClibc.  if you want to try the experimental build which includes these features, then install the "uclibc-full" packages instead of the "uclibc-default" packages.




2009-07-03 02:19:50     Re: wstring support / Ultimate++

Konstantin Hartwich (GERMANY)

Message: 76728   


thanx mike,


K, now i know std::wstring is in uClibc-full. but i am using trunk bftoolchain, so there must be some kind of switch to enable or disable that. or is it disabled bz default as well ?


i take i look, but meanwhile, any hints welcome


concerning the thread__ thing, i will post that to ultimate++ forum




2009-07-03 02:31:23     Re: wstring support / Ultimate++

Mike Frysinger (UNITED STATES)

Message: 76730   


you can try the documentation here, but no guarantees ...



__thread (TLS) is not supported with any uClibc let alone Blackfin system.  there are plans to eventually support it, but it isnt going to happen in any near/mid timeframe.  TLS support also is somewhat recent in general, so requesting support from the Ultimate++ guys for disabling TLS sounds pretty reasonable to me.




2009-07-03 05:29:36     Re: wstring support / Ultimate++

Konstantin Hartwich (GERMANY)

Message: 76769   


thanks mike..


lets see what can be done there, maybe in favor of cross compilation, I could convice them..




BTW: link to the current thread back there in Ultimate++ Forum


Developpers Corner








2009-07-04 18:47:54     Re: wstring support / Ultimate++

Konstantin Hartwich (GERMANY)

Message: 76800   


Seems the guys are interested in that..


I've tried to port it, and it halfway WORKED


if anyone likes to try it out, there (link posted above) you'll find an archive with the port files, or down there, and also a test project, to compile.. so with that, we can use the BSD licensed stuff from U++ also (so far excluding the X11 GUI stuff, for which there is a extension up to coming, like Mirek posted there)






use current 1314 ultimate x11 build at




download, extract somewhere,


replace in the ./uppsrc/Core the files contained in the BF_port archive


compile with domake and install with doinstall.


copy the U++ project into ~/upp/MyApps


start theide, somewhere there in the paths or in ~/upp, needs to reflect the current 1314 revision number at startup


under sesetup/Build methods, import a BF537 build method (also in archive, a BF537.bm file, and change the paths for include and link if needed, to match your toolchain and staging environment)


choose the compile method and compile, open output directory (Build/open output directory) and copy binary to target..







2009-07-05 04:12:17     Re: wstring support / Ultimate++

Konstantin Hartwich (GERMANY)

Message: 76804   


BUGFIX: (see u++ forum link)


use this BF_port






2009-08-03 05:06:07     Re: wstring support / Ultimate++

Konstantin Hartwich (GERMANY)

Message: 78298   




U++ commited the support for the Blackfin into its trunk with revision 1447, on 2009/08/26.


so we have another IDE supporting BF.