Code::Blocks Forums

User forums => General (but related to Code::Blocks) => Topic started by: nibicas on September 30, 2007, 01:27:14 pm

Title: Cross development on Windows
Post by: nibicas on September 30, 2007, 01:27:14 pm
Hi all!

I need to re-develop a fairly big Windows application made with Borland's C++ Builder. The existing app is tight to the VCL framework and as a consequence it lacks certain features like Unicode, 64bit, scripting and portability.

Deciding to leave C++ Builder (after 9 years) was relatively easy, but finding the proper toolset for the job was not. The obvious solution would be to just jump on the Visual Studio bandwagon, using NET and all that stuff, but then I (presume) could have trouble with the portability issue.

I was very much appealed by CB's philosophy of plugged in compilers and I thought I should give it a try. To tell you the truth, I had evaluated twice in the past (as Dev-C++ also) but was rather disappointed. Nevertheless, I kept my eye here and now - since the past few weeks - I am using it daily and all I can say is that it is an impressive product. Apart from a few glitches, I think CB is the way to go.

So, I would like to put a couple of questions here hoping that you will find some time to respond:

1) Setup of Development environment

I develop on a Windows box. I would like to have the ability to work under Linux also, especially now, since I have started coding my framework. I am looking for some kind of a virtual machine to install CB on it and work in parallel. I do not have any serious Linux experience (just some installations of various distributions in the past), so any 1-2-3 guide for setting up a complete Linux/CB environment accessible via a desktop icon (if that is possible) would be highly appreciated.

2) Scripting engine

I need an portable engine, having support for Unicode (wchar_t) and 64bit builts. I don't mind the grammar neither its features. The only feature I want is to be able to automate my objects from a script. It doesn't have to be an OO engine. I can provide simple function wrappers to do the stuff.

I have spent quite a few weeks and the choices out there are vast. I know that CB uses Squirrel but before that it used AngelScript. I remember that the development team decided to abandon AngelScript due to its lack for supporting 64bit or Unicode?. Lua is also a nice choice.

I have downloaded and inspected a few engines and - frankly - I have something negative to say for all of them. For example, AngelScript package layout is clean and straight-forward (something I value a lot) but just looking on their String implementation I saw char instead of TCHAR plus exception-unsafe code, which I didn't like.

Squirrel has a bit more complicated layout but - nevertheless - I opened its CB workspace (feeling that I could built it easily) but most of its projects failed to compile. Didn't look further...

Anyway, since CB uses it, is Squirrel the only way to go or are there any other solutions that you have tested and found to be ok?



Well, that's all for know...

Thank you very much for reading so far!
Title: Re: Cross development on Windows
Post by: stahta01 on September 30, 2007, 06:42:20 pm
Look at the Nightlies; you sound like you are using RC2, sorry quick read saw AngelScript jumped to conclusion.

http://forums.codeblocks.org/index.php/topic,6985.0.html

Tim S
Title: Re: Cross development on Windows
Post by: nibicas on September 30, 2007, 07:29:00 pm
Thanks for your reply, although I cannot figure out how you came up with that conclusion  :D

I am using svn 4472 (about two weeks old). This, however, has nothing to do with my questions. I've asked for advice on a preferred setup for a CB cross-platform development environment on a Windows box (there is a Wiki page for a Linux setup but could not find anything for a Windows one), plus, a suggestion for an embedded portable/unicode/64bit scripting engine. If I do the first then I may answer the second myself, although I will welcome anyone's experience on this issue.
Title: Re: Cross development on Windows
Post by: stahta01 on September 30, 2007, 08:45:52 pm

1) Setup of Development environment

I develop on a Windows box. I would like to have the ability to work under Linux also, especially now, since I have started coding my framework. I am looking for some kind of a virtual machine to install CB on it and work in parallel. I do not have any serious Linux experience (just some installations of various distributions in the past), so any 1-2-3 guide for setting up a complete Linux/CB environment accessible via a desktop icon (if that is possible) would be highly appreciated.


Several users are using andLinux, I am off and on; but I am thinking of using CoLinux Directly instead.

http://www.andlinux.org/
http://www.colinux.org/

I mainly use windows XP, but every few months I check something on andLinux or CoLinux.

You might take a look at wxLua, if you plan to use wxWidgets as the GUI Lib.
http://wxlua.sourceforge.net/

I don't really use scripting much at all, if I was doing it I would look a python and Lua.

Tim S

Title: Re: Cross development on Windows
Post by: Game_Ender on October 02, 2007, 03:09:51 am
You can also try VirtualBox (http://www.virtualbox.org) which works great for me (running a Linux Host and Guest).  Since VirtualBox is portable you will be able to your VM's to whatever OS you wish.
Title: Re: Cross development on Windows
Post by: Remo.D on October 04, 2007, 10:12:18 am
Someone already mentioned CoLinux, I personally use  Topologilinux (http://topologilinux.com (http://topologilinux.com)) that is a Slackware distribution modified to use coLinux as kernel.

It's easy to setup and much faster than a full virtualization solution (I've tried both VMWare and MS Virtual PC solution before). Probably the easises option is to do a full install and remove packages you won't use afterward.

Network configuration may take a while, you have to follow the instructions carefully. To allow the linux box to access the internet, in the end, I opted for a proxy server on the WinXP side, grouping network interfaces and sharing the Internet connection produced erratic behaviours on my set up. Since I only needed svn and Firefox to work, it's ok for me.

Once started, you can acces the linux box via ssh (I also have msys/mingw on the WinXP side) or via VNC for the X session (vnc will be instaled and configured by Topologilunx). I'm using XFCE as windows manager for performance reason, you may opt for a different wm depending on how much powerful your PC is).

Hope it helps

Remo.D
Title: Re: Cross development on Windows
Post by: Remo.D on October 04, 2007, 10:33:54 am
Ops. I missed the script part :)

I'm using Lua (http://www.lua.org (http://www.lua.org)) more and more. It's small, fast, easy to interface to C and C++, easy to extend, has good community support, full ANSI C (has been ported over a huge number of platforms, including mobiles and gaming consoles). ...

It might not entirely suit you since Unicode is not directly supported but I've seen UTF-8 packages so it should be possible to adapt to your needs.

I would suggest you to just have a look.

Remo.D
Title: Re: Cross development on Windows
Post by: nibicas on October 04, 2007, 01:19:06 pm
Thank you, guys, for your time and suggestions.

I will (continue to) look at the various options and as soon as I have something running, I will post it here...