tag:blogger.com,1999:blog-1389455440285806622.post8140038520642287058..comments2023-10-02T10:26:10.088+02:00Comments on Marco++: STLport for Symbian OS released!Marcohttp://www.blogger.com/profile/18417218667115527638noreply@blogger.comBlogger62125tag:blogger.com,1999:blog-1389455440285806622.post-71050462886783972302009-04-22T07:23:00.000+02:002009-04-22T07:23:00.000+02:00Adding libstdcpp.lib solved the problem. "Undefine...Adding libstdcpp.lib solved the problem. "Undefined symbol: 'void std::__stl_throw_length_error(char const *) (?__stl_throw_length_error@std@@YAXPBD@Z)'"Lalithttps://www.blogger.com/profile/09101690492256718923noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-26058173367972525402009-01-29T12:18:00.000+01:002009-01-29T12:18:00.000+01:00@macro & @natehi, i'm getting the same com...@macro & @nate<BR/>hi, <BR/>i'm getting the same compile time errors: <BR/><BR/>undefined symbols for the math functions (fabs and its likes) in _cmath and undefined "rename" and "remove" in _cwchar<BR/><BR/>(my rig is carbide.c++ 2.0 and nokia s60 3.1 sdk),<BR/>i didn't originally have an epoc32/include/stdapis/ directory ( i do have the epoc32/include/clib, which is also in my system include path )<BR/><BR/>it seems stlport does not include the math.h on its own accord.<BR/><BR/>any config settings that could help with this?<BR/><BR/>thanks!Unknownhttps://www.blogger.com/profile/04450476146975985033noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-9882610673897514562008-07-30T03:15:00.000+02:002008-07-30T03:15:00.000+02:00Hey Marco.math.h was already included and compilat...Hey Marco.<BR/><BR/>math.h was already included and compilation was going fine. These were linking errors. Turns out I didn't link against OpenC's libm.lib when using vector.<BR/>It finally works and I am greatful to you for your library and kind help. You save poor programmers' lives every day :). I wish you all the best.<BR/><BR/>Nate.Natehttps://www.blogger.com/profile/08370613864209410307noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-90962158998810219912008-07-29T16:28:00.000+02:002008-07-29T16:28:00.000+02:00@Nate: it's ok to remove that include path, as...@Nate: it's ok to remove that include path, as it belongs to the old C library. I supposed your errors were linker errors, but I see they are emitted by a file named "box.cpp", so they must be compiler errors (please correct me if I'm wrong). If you are explicitly calling those math functions from within your own code, make sure to include <cmath> and to qualify function names with prefix std:: (for example, std::fabsf, std::cosf, etc.). You can also include the C-style <math.h> header and avoid namespace qualification altogether, but it's not recommended. If, instead, those functions are being called from some extraneous code (or from STLport itself), then we must figure out what's going wrong and where. In this case, sending me a simple test case that reproduces the problem would be useful.Marcohttps://www.blogger.com/profile/18417218667115527638noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-28797355344255372872008-07-29T15:53:00.000+02:002008-07-29T15:53:00.000+02:00Thanks Marco for your reply.I still link against l...Thanks Marco for your reply.<BR/>I still link against libc.lib, I meant I removed the <BR/>SYSTEMINCLUDE \epoc32\include\libc. <BR/>Perhaps I shouldn't remove it, but when I do include <BR/>SYSTEMINCLUDE \epoc32\include\libc in my mmp, I get a bunch of other errors, as in:<BR/>http://discussion.forum.nokia.com/forum/showthread.php?t=137500.Natehttps://www.blogger.com/profile/08370613864209410307noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-1135494142080141552008-07-29T15:38:00.000+02:002008-07-29T15:38:00.000+02:00@nate: those functions are defined in Open C's sta...@nate: those functions are defined in Open C's standard C library (libc.lib), which is a dependency for STLport. If you remove libc from the list of libraries to link against, you'll probably fail to build any code based on STLport. Why did you remove libc.lib from the MMP? The web link you posted actually refers to someone getting linker warnings, not errors.Marcohttps://www.blogger.com/profile/18417218667115527638noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-53727016648068933822008-07-29T15:01:00.000+02:002008-07-29T15:01:00.000+02:00Hi Marco,I downloaded the prebuilt package for S60...Hi Marco,<BR/><BR/>I downloaded the prebuilt package for S60 3rd Edition 1.1 and I get the following errors:<BR/>'box.cpp: undefined reference to 'fabsf'<BR/>'box.cpp: undefined reference to 'sqrtf'<BR/>'box.cpp: undefined reference to 'atan2f'<BR/>'box.cpp: undefined reference to 'sqrtf'<BR/>and so on for any math function I can think of.<BR/><BR/>I have the following setup:<BR/>s60 3rd edition sdk <BR/>Carbide.c++ 1.3<BR/>Open c<BR/>I have the include directories:<BR/>$(EPOCROOT)\epoc32\include\stlport<BR/>$(EPOCROOT)\epoc32\include\stdapis<BR/><BR/>I'm pretty sure it has to do with the math of libc, which I removed after it gave me problems (for example: http://developer.symbian.com/forum/thread.jspa?messageID=73654)<BR/><BR/>I'd be greatful if you could save me please :)<BR/><BR/>NateNatehttps://www.blogger.com/profile/08370613864209410307noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-90664009018823865152008-07-29T14:14:00.000+02:002008-07-29T14:14:00.000+02:00This comment has been removed by the author.Natehttps://www.blogger.com/profile/08370613864209410307noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-2258631185905652912008-07-24T11:22:00.000+02:002008-07-24T11:22:00.000+02:00@apoorva: as stated in the documentation, only WIN...@apoorva: as stated in the documentation, only WINSCW and GCCE targets are supported. I work on STLport for Symbian OS in my spare time and with my own resources, so I'm not going to support a commercial product unless someone buys a license for me.Marcohttps://www.blogger.com/profile/18417218667115527638noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-36359657790093707292008-07-22T08:52:00.000+02:002008-07-22T08:52:00.000+02:00STL port on top of winscw is working fine. When i ...STL port on top of winscw is working fine. When i try to get a armcc build (RVCT2.2), i get the following errors:<BR/>Fatal error: L6024U: Library stlport_s.lib contains an invalid member name.<BR/>Not enough information to list image symbols.<BR/><BR/>Any inputs to resolve this issue?Apoorvahttps://www.blogger.com/profile/05487779450382597752noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-55121706720036682482008-07-03T08:57:00.000+02:002008-07-03T08:57:00.000+02:00when i added stlport_s.lib it started working.when i added stlport_s.lib it started working.Apoorvahttps://www.blogger.com/profile/05487779450382597752noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-67393083613059953632008-07-02T20:51:00.000+02:002008-07-02T20:51:00.000+02:00@Apoorva: any chance you forgot to add stlport_s.l...@Apoorva: any chance you forgot to add stlport_s.lib to the list of static libraries used by your project?Marcohttps://www.blogger.com/profile/18417218667115527638noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-78278191838894436282008-07-01T13:20:00.000+02:002008-07-01T13:20:00.000+02:00HiI'm using carbide.c++ 1.3, UIQ3.1SDK, PIPS9.2. A...Hi<BR/><BR/>I'm using carbide.c++ 1.3, UIQ3.1SDK, PIPS9.2. After installing the stlport, i have included path to stlport and stdapis as stated in the readme.txt. When i included the usage to std::string i get the following errors:<BR/>mwldsym2.exe: Undefined symbol: 'void * std::__malloc_alloc::allocate(unsigned int &) (?allocate@__malloc_alloc@std@@SAPAXAAI@Z)'<BR/>mwldsym2.exe: referenced from 'char * std::allocator char ::allocate(unsigned int, unsigned int &) (?allocate@?$allocator@D@std@@QAEPADIAAI@Z)' in _alloc.h:432<BR/>mwldsym2.exe: Undefined symbol: 'void std::__stl_throw_length_error(char const *) (?__stl_throw_length_error@std@@YAXPBD@Z)'<BR/>mwldsym2.exe: referenced from 'void stlp_priv::_String_base char, class std::allocator char >::_M_throw_length_error(void) const (?_M_throw_length_error@?$_String_base@DV?$allocator@D@std@@@stlp_priv@@IBEXXZ)' in _string.c:613<BR/><BR/>Can you tell me what is going wrong?Apoorvahttps://www.blogger.com/profile/05487779450382597752noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-1659952245317858382008-06-28T09:25:00.000+02:002008-06-28T09:25:00.000+02:00The new operator from Symbian does not throw anyth...The new operator from Symbian does not throw anything. You need to download the new version of this port which has been released a few weeks ago. It should deal with this case correctly.paileshttps://www.blogger.com/profile/13892284793338454255noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-4615939120311866762008-06-23T15:41:00.000+02:002008-06-23T15:41:00.000+02:00Does stlport handle out of memory conditions?I did...Does stlport handle out of memory conditions?<BR/>I did a test using this code:<BR/><I><BR/>vector |int| list;<BR/>try<BR/>{<BR/>int n = list.max_size();<BR/>list.resize(n/2);<BR/>}<BR/>catch (...)<BR/>{<BR/>return false;<BR/>}<BR/></I><BR/>Normal stl implementions would throw a bad_alloc exception, but stlport just seems to crash and the catch clause never gets called.<BR/>I am using the version of stlport from the open c++ plugin.Ed Welchhttps://www.blogger.com/profile/05460348134592092742noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-46823548692347632402008-06-18T07:58:00.000+02:002008-06-18T07:58:00.000+02:00Hi marco,Thanks for stlport. It is a lifesaver for...Hi marco,<BR/>Thanks for stlport. It is a lifesaver for many like me. I have one doubt which plugin is better pips or open c. I have recently started using c++ and am new to symbian development. and do you know any sites where i can find examples of using stlport in symbian c++.<BR/><BR/>cheers....Unknownhttps://www.blogger.com/profile/04677493412668619856noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-61632548116807351992008-05-30T09:12:00.000+02:002008-05-30T09:12:00.000+02:00@Bodi: can you please show me the line of code tha...@Bodi: can you please show me the line of code that is causing the error? Also, if you are using STL functions, make sure you prefix them with the std:: namespace.Marcohttps://www.blogger.com/profile/18417218667115527638noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-27010898617398081982008-05-29T12:36:00.000+02:002008-05-29T12:36:00.000+02:00I forgot the details:I use Carbide c++ under Win x...I forgot the details:<BR/><BR/>I use Carbide c++ under Win xp<BR/>and tried STLport-5.1.5-symbian-r1-RC version.<BR/><BR/>Thxvendelinhttps://www.blogger.com/profile/05688612206911747385noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-68871097906998879312008-05-29T10:09:00.000+02:002008-05-29T10:09:00.000+02:00Hi!I installed stlport, and I get a weird error: c...Hi!<BR/><BR/>I installed stlport, and I get a weird error: call of overloaded `log(const TInt&)' is ambiguous<BR/>..//..//9.1//S60_3rd_MR_2//EPOC32//include/stdapis/math.h:279: note: candidates are: double log(double)<BR/>..//..//9.1//S60_3rd_MR_2//EPOC32//include//stlport/stl/_cmath.h:435: note: float log(float)<BR/><BR/>My mmp file includes:<BR/>USERINCLUDE ..\inc<BR/>SYSTEMINCLUDE \epoc32\include\stlport<BR/>SYSTEMINCLUDE \epoc32\include<BR/>SYSTEMINCLUDE \epoc32\include\stdapis<BR/><BR/>Maybe I installed stlport badly?vendelinhttps://www.blogger.com/profile/05688612206911747385noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-20897027192384949542008-04-14T10:40:00.000+02:002008-04-14T10:40:00.000+02:00Sorry for my late reply, I've been sick for the pa...Sorry for my late reply, I've been sick for the past few days. I also fixed your conversion routine with some code I've found in the net, I've sent you an email with the fix, maybe you find it useful. Regards.paileshttps://www.blogger.com/profile/13892284793338454255noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-57750864769270558642008-04-05T02:08:00.000+02:002008-04-05T02:08:00.000+02:00@pailes: thanks for spotting this, I've identified...@pailes: thanks for spotting this, I've identified the bug and I'm now fixing it. The fix will be available in next release (based on STLport 5.1.5) which is coming soon (I'm working on it).Marcohttps://www.blogger.com/profile/18417218667115527638noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-4981098454851677212008-04-01T13:34:00.000+02:002008-04-01T13:34:00.000+02:00Hi marco, while investigeting your port a little b...Hi marco, while investigeting your port a little bit further, I noticed that the double to string conversion in _symbian_ecvt does not work correctly. Try to convert 3.1415f to a string and see what the result is. I'll be posting a fix when I'm done. Cheerspaileshttps://www.blogger.com/profile/13892284793338454255noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-33053342046495746972008-03-27T20:52:00.000+01:002008-03-27T20:52:00.000+01:00@HamishW: I'm afraid, RVCT is not supported.@HamishW: I'm afraid, RVCT is not supported.Marcohttps://www.blogger.com/profile/18417218667115527638noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-21105434089325734652008-03-27T06:27:00.000+01:002008-03-27T06:27:00.000+01:00HiLooks great. Do you have mak files to allow this...Hi<BR/>Looks great. Do you have mak files to allow this to be built using RVCT?HamishWhttps://www.blogger.com/profile/05342517302466654659noreply@blogger.comtag:blogger.com,1999:blog-1389455440285806622.post-41356245915495761652008-03-14T01:04:00.000+01:002008-03-14T01:04:00.000+01:00@pailes: yes, there is an update that allows you t...@pailes: yes, there is an update that allows you to use std::type_info, but I'm not sure I can make it public for a couple of reasons. Email me privately if you're interested: marco.jez[AT]gmail.comMarcohttps://www.blogger.com/profile/18417218667115527638noreply@blogger.com