Porting ncurses app to IOS - c++

I have several ncurses apps that I would love to run on my iPad. However, I don't know if this is possible. Can anyone provide thoughts? The apps are mostly financial data related and do graphing, back testing, etc.

Sounds like a complicated project, but if it's written in C, it's definitely possible. If you want some general advice, I'd google how to compile C libraries for iOS applications; you might find some success stories for libraries like libvlc or ffmpeg.
Have you tried this? https://gist.github.com/akisute/7227384
I have zero experience with ncurses, so I'm sorry I can't help any further!

Related

Aid with getting OpenAL Audio Libraries on Eclipse Mac

I have scoured the internet for help with this one. I don't typically enjoy using stack exchange because a lot of people can sometimes start fights on here, so please just bear with me. I am currently learning the C++ language, and I'm only about 2-ish weeks in. I am working with a team of new programmers, and to learn the language, we are creating a tiny text based game. We want to have the game play audio at different times, and from my hours of research, I have determined, that for cross platform audio, I want OpenAL.
The problem is: How do I use OpenAL with Eclipse and Mac? I haven't found any guides for this online, and the only OpenAL libraries I can find are all .exe files, which I can't use on mac. I also cannot find a ton of tutorials on using the OpenAL audio libraries, so if you could point me at one of those, that would be awesome.
Thanks in advance! Cheers!

Creating GUIs in Win32 C++

I'm developing my first Windows desktop application and I'm trying to figure out what the best approach would be to create the program's GUI.
I know, I know... I feel stupid for asking considering the amount of data on the subject on SO. However most answers seem outdated and I'm not sure if they fit my specific project. Also tutorials for Windows 8 'metro apps' are clogging my Google search results, which is NOT what I'm looking for.
I use Visual Studio. I've followed tutorials. I have basic knowledge of C and Java and extensive experience with PHP. I'm excited to learn C++, so I'm not looking for GUIs to create a GUI (like WinForms). I also don't care about managed code and portability for now, especially since I'm trying to avoid dependencies (i.e. users having to install .NET). As long as it runs smoothly on Vista and up, I'm happy.
The application
The software will teach basic physics to kids. I'd like to create a main area and a sidebar. The main area will feature a physics animation, say a bouncing ball, along with some Q&A. Users can zoom in to the animation to measure some stuff and answer the question. Users can track their progress in the sidebar. That's pretty much it.
What I've found so far
I'm getting a bit frustrated with MSDN. Most of their examples are given in four different languages (C#, C++, etc). I can't seem to get more than a bit of Hello World code from them.
I found a GDI API on MSDN and it seems like a good start for me. However I've read quite a few answers on SO saying creating layouts in pure C++ is really hard, that we're better of using frameworks like ATL and WTL. Since I'm also going to create (somewhat interactive) animations, I've wondered whether I should use gaming-targeted APIs like Direct2D.
Since all of this is new to me, and there are a lot of options, I don't know where to start for my particular application. Any tips would be greatly appreciated!
Using the raw Win32 API (no additional downloads or third-party helpers):
Here's a good primer (introduces dialog boxes, text boxes, buttons, etc): theForger's Win32 API Tutorial
And here's where you go from there (numeric up-downs, list boxes, combo boxes, tooltips, and more): Common Controls on MSDN. Most of these require you to #include <commctrl.h>.
I also found this to be a good resource that covered what the other two didn't: Win32 Developer - Window Assets
But the Win32 API doesn't seem like it does exactly what you want. A physics app for kids should have a more visual GUI than the API can provide. Good luck, though!
If you're ok with adding additional Frameworks, I'd suggest looking at Qt.
It allows to create the GUI from code only, has a good structure, and has an Interface for 2D drawing, if required.
If you are concerned about dependencies, you only have to include the Qt DLLs to your executables; no installation is required for the user.
To get started, see my (old) tutorial "Lessons in Windows API Programming".
But you really need a good book, such as edition 5 or earlier of Charles Petzold's classic "Programming Windows".
The problem with latest edition is that it's for C# and .NET, with Charles grabbing the tail of the "new way" at just the wrong time…
Disclaimer: I haven't checked the details of edition numbers.
Using the Windows API is the simplest, but producing advanced GUIs can take a very long time. Microsoft Foundation Class is a way to make the Windows API more user friendly and OOP. Does anyone have any experience with MFC?
Why not use some 2D C++ game engine, like HGE: http://hge.relishgames.com/overview.html.

C++ online Role Playing Game (RPG)

So I've been learning C++ and SDL to make some basic 2d games. I want to create a game sort of like World of Warcraft but a 2D version. I want it to be on-line and use a database or something to start data like amount of Gold, HP, etc. I was wondering though, if I do this in SDL, would it still work on-line or would the user have to download SDL themselves to play?
I just want a game like this but be able to play it with some friends, just for learning purposes you know. I was also looking at DirectX because everyone has that on windows pretty much. Anyways much help is appreciated, thanks!
No offense, but an RPG is definately the last thing a new programmer should attempt to create. They are the most time, resource, and skill intensive style of game one could possibly try to create. I speak from experience here and can say that RPGs are huge time sinks, even for experienced game studios. At best, you might get a basic map working before you run out of time and patience.
If you want a game you can play with your friends, why not multiplayer tic-tac-toe or even artillery or something similiar. You'll have more success and may actually have something to show your friends when you are done.
You'll probably need to include SDL's runtime library for the game to run on other computers. This will apply no matter what library you use.
For the game itself some libraries are installed in Windows, but in order to achieve other functionality (online gameplay, gampad, etc)you must tell the user to install the other libraries.
If you use SDL, you would be using it for a local graphical client that the user would either download or install. For that, you don't need to have the user download the SDL library separateoly – you can simply put the SDL runtime DLL in the same directory as your executable and package both into the client installer. Of course, you must abide by the GNU LGPL requirements if you do this; the SDL website has details.
As far as the online piece, I'm not sure what you have in mind. I'm guessing either you'll have clients talking directly to each other in some sort of peer-to-peer fashion, or you'll have an back-end server run by you that handles the common game mechanics. I don't think you'll find SDL of much help in either case. But if you go with the back-end server, you can use whatever libraries you like for that server without impact on the user, since the user will only ever deal with the client.
For flat 2D, probably the easiest approach is to use a web interface not SDL. Web browsers are common on Macs and Linux, too, and you might even be able to support smartphones.
Still, you would have to learn how to split work between the clients and the central server. This is not always trivial. Obviously, stuff like # of gold coins would be on the server. Keyboard input is accepted first on the client. But the direction in which your toon is looking? Should the server know that?

What is an SDK? (C++)

Just in general terms, for a noobie. I apparently need an 'SDK' to install something; what is this?
An SDK is a set of libraries which hold reusable code that you in turn use to develop applications. Whether those applications will run in Windows, on an XBOX, and iPhone, in a Flash application, etc. determine what SDK you should be using.
Take the iPhone for example. To write an iPhone application, you write code in a language called Objective-C (which looks and feels just like C, but with Smalltalk's object-model). Anyway, every time you write an app, you don't need to rewrite the code that draws text on the actual screen or registers the actual screen-touches. Instead, Apple provides the code that all application developers will need to do simple things.
Likewise, if you're writing for Windows, there are libraries to do things like draw an actual window, or connect to the network stack.
All of these common libraries, along with some other tools, make up an SDK.
For C++, you will probably see a lot of mention of Boost. This is not an SDK, but rather a set of libraries that contain code that a lot of other developers find useful.
What platform are you trying to write for? Are you just getting into C++ in Windows and looking to get started? Are you trying to write a game for some console?
"Software Development Kit" - a set of tools and libraries that let you develop software.
An example would be the iPhone SDK, which lets you develop software for the iPhone.
An SDK for a given product in general includes what you need to create an interface or an application based on that product. That's why "software development kit", a set of things needed to build software. It is strange though that an SDK is necessary for an install, could you provide more details?
An SDK is a tool kit that helps you develop software for a certain platform.
Help us out with some context! We might just be able to get you the correct SDK.
The OP indicates that the SDK is needed to install software. If this is the case, then maybe the OP is really asking is "Why is an SDK needed to install software, given that I am not developing (compiling) software?"
The OP tagged the question with SDK, which provides a definition and if the OP took the time write the question, the OP would in all likeliness Google SDK.
I suspect this is a case where moderators could have helped the OP to refine the question.

Has anyone used smartwin (a Windows C++ GUI OS library)?

I am considering using smartwin for a Windows platform only C++ project but notice that there has not been a release for 18months since 2.0rc5 was released i.e. it appears that it is no longer maintained.
After playing with it seems pretty good, I like it's use of templates, signals/slots (via boost) and it will meet the project needs but I would like some experiences of other users who are currently using it to help me weight it up?
Have you looked at Qt instead? I think it has a lot of the features you're looking for, and would be much better supported, both in developer tools and framework maturity.
"...we really don't need a full application framework or cross platform portability - just a lite Win32 GUI framework that can be easily added to an existing app "
That is exactly what Smartwin was created for. Combine that with the Sally IDE, and you'll have a complete RAD development environment that is fast compact and complete. Note that Google is currently using WTL for their Chrome browser, but Smartwin is even more efficient than WTL.
Smartwin Also has a library called Winelib that they hope will make this also a portable environment in the long term.
Personally, if you want to go portable, I'd go with wxWidgets. However, if you are planning for sure to stay with windows, I'd certainly give Smartwin++ a look.
I, myself, would use wxWidgets, as thats what I usually use and am used to, so thats kind just a personal choice.
Good Luck.
-Donald
Consider using wxWidgets. It is mature, well supported library with lots of features.
Went for WTL in the end and that's been a pretty seamless and painless transition. Thanks for the comments and responses everyone.
Ultimate++
http://www.ultimatepp.org/