I'm working on scrolling view and trying use the code in a glb08ma's eigenmath port, but it's quite a complex thing and it refuses to compile. I peeked in the makefile and tried copying over "-sdt=c++11", but my compiler doesn't recognize the command. Otherwise many errors relating to what ISOc++ forbids show up, as well as a few weird ones, such as "/textGUI.cpp:81:36: error: 'struct textArea' has no member named 'title'" (I've checked, it most certainly has that member). I'm using the most recent version of tswilliamson's compiler. Does anyone have an idea of how to get this to work other than rewriting it all?
You need -std=c++11, not -sdt. As in "use language standard C++11."
A an embarassing typo, sadly the correct command returns "cc1plus.exe: error: unrecognized command line option '-std=c++11'". (the typo was only in my post)
Can you post your makefile? Or do you have a fork somewhere? I can see if I can help
Sure, here are the relevant files.
Hey, sorry for the bad news but my SDK is based on an old version of sh3eb-elf-gcc that doesn't have C++11 support. gbl08ma's Eigenmath port is built on a later toolchain that I haven't been able to get a hold of or build from source myself yet...

You can move these initializers to a default constructor as a stopgap if there isn't many of them, or gbl08ma may be able to get you his toolchain, he said the easiest way to contact him is via his github.
It would probably be better for me to adapt the code to work with the "standard" compiler than to get a hold of gbl08ma's, especially as he isn't so active with it any more. Thank you for looking into it.
I've continued work on this, but I've run into trouble. Everything compiles well on its own at this point, but now that I'm actually testing functions to see if they work, I'm getting

main.o: In function `_main':
main.c:(.text.startup+0xc8): undefined reference to `_memset'
collect2: ld returned 1 exit status
make[1]: *** [C:/Users/jor70/Desktop/PrizmSDK-master/projects/Test/Test.bin] Error 1
make: *** [build] Error 2

I've tried a fair amount of searching, but nothing that's come up really gives a clear idea of what's actually going wrong.
Eh, it is is common courtesy to try to make the problem you have as clear as possible when posting an issue in a forum. Without given code (or other related info) to give context, definition, etc., posting a problem without information has the almost equivalent value if you hadn't posted at all.

If you are simply stating an issue you plan to resolve yourself, please don't post in a forum just for the sake of posting. Razz
Nitpicking aside, I'm going to assume you're asking for possible resolutions.

Are you calling memset in your code, or no? Because if you are the easy solution is "don't; or write your own, because it's not provided." If you're not then the compiler is helpfully optimizing some kind of initialization to a call to memset so arguably your toolchain (or more accurately, the set of libraries you're linking against) is broken because it doesn't include an implementation of memset. You could work around that by providing your own implementation.

I observe that upstream libfxcg implements memset in its libc facade and aliases it to the syscall if you're including fxcg.h but tswilliamson's distribution doesn't include the libc facade so memset can only work if you alias it to the syscall or the compiler decides it can inline it (because it knows the semantics of that function so doesn't need to rely on a provided implementation).

This would be easier to debug if you provided code rather than relying on psychic debugging from us. Evil or Very Mad
Sucks you are having the trouble Juan_Pablo! I'm glad this is happening, in a way, because I've moved up integrating gbl08ma's fork into my SDK version to right after my initial Nesizm release. All of this SDK stuff got so disjointed a few years ago, it's just a slog to pick up all the pieces and make sure the source I can find for the various large add-ins still works.
I'm sorry for being vague. I wrote this and accidentally closed the tab without posting a couple times so I wrote this quickly and left off a lot. Here's a folder with the source.

The main point of context that you need is that memset is no where in there. Like Tari said, it seems to be somewhere in the toolchain. Everything works perfectly well until I actually call the function doTextArea() on the text area.
Since you're not calling memset yourself so can't avoid it, the easiest immediate solution is to provide your own implementation of it. You could even copy the one in libfxcg.
Thank you Tari, I copied it and it's compiling now.
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum