Author Topic: Cross development on Windows  (Read 3337 times)

Offline nibicas

  • Single posting newcomer
  • *
  • Posts: 3
Cross development on Windows
« 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!

Offline stahta01

  • Lives here!
  • ****
  • Posts: 6675
    • My Best Post
Re: Cross development on Windows
« Reply #1 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
« Last Edit: September 30, 2007, 07:31:48 pm by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 32 bit.
On Debian Stretch, compiling CB Trunk against wxWidgets 3.0.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline nibicas

  • Single posting newcomer
  • *
  • Posts: 3
Re: Cross development on Windows
« Reply #2 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.

Offline stahta01

  • Lives here!
  • ****
  • Posts: 6675
    • My Best Post
Re: Cross development on Windows
« Reply #3 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

« Last Edit: September 30, 2007, 08:49:52 pm by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 32 bit.
On Debian Stretch, compiling CB Trunk against wxWidgets 3.0.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline Game_Ender

  • Lives here!
  • ****
  • Posts: 551
Re: Cross development on Windows
« Reply #4 on: October 02, 2007, 03:09:51 am »
You can also try VirtualBox 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.

Remo.D

  • Guest
Re: Cross development on Windows
« Reply #5 on: October 04, 2007, 10:12:18 am »
Someone already mentioned CoLinux, I personally use  Topologilinux (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

Remo.D

  • Guest
Re: Cross development on Windows
« Reply #6 on: October 04, 2007, 10:33:54 am »
Ops. I missed the script part :)

I'm using Lua (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

Offline nibicas

  • Single posting newcomer
  • *
  • Posts: 3
Re: Cross development on Windows
« Reply #7 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...