Category Archives: Programming

Various programming related posts.

Problems with Eclipse buttons in Ubuntu 9.10

Just found this post which deals with the exact same problem that I have been fighting with…

After upgrading to Ubuntu 9.10 (Karmic Koala) some buttons no longer work in Eclipse 3.5. Clicking has no effect but keyboard shortcuts still work.

Create a script to start eclipse with the following export…

#!/bin/sh
export GDK_NATIVE_WINDOWS=1
/opt/eclipse-3.5/eclipse

… and remember to change the path to where your eclipse is located.

Check http://www.norio.be/blog/2009/10/problems-eclipse-buttons-ubuntu-910 for a little more background on the problem.

Delta3D 2.1.0 for Visual Studio 2008

To compile Delta3D it is necessary to first create a solution file for a IDE (or some other environment) and then build the project using that tool. Delta3D 2.1.0 does not come with pre-created VS2005/8 solution files like older versions of Delta3D did.

To create a VS2008 solution for Delta3D 2.1.0 first obtain the following programs/sources:

  1. Download Delta3D 2.1.0 from Sourceforge.
  2. Download Delta3D 2.1.0 dependencies from Sourceforge.
  3. Download the open source C++ edition of Qt from Trolltech.
  4. Download NMake build tool from Microsoft.
  5. Download CMake build tool from cmake.org.

Now you have the resources you need to be able to start the build process. Please notice that the version of Qt to download must be the source code (src) version, not the MinGW version, which Delta3D can not use. Now you need to install nmake, cmake and the other tools. I am assuming that you already have VS2008 installed…

  1. Install NMake – create a directory for NMake, for example C:\Program Files\NMake and move the NMake executable file to the new foldet. Run the file and it will unzip to a couple of files, among them nmake.exe.
  2. Install CMake – just follow the instructions.
  3. Unzip the Qt package to where you will want it installed, for example C:\Qt\4.4.3 (depending on version).
  4. Install Delta3D from the executable – again just follow the instructions.
  5. Unzip the Delta3D dependencies package to your Delta3D installation folder, for example C:\Program Files\Delta3D_REL-2.1.0. The package contains a single folder, ext, which you should overwrite the existing Delta3D ext folder with.

Now the tools are basically installed. The first step is then to compile Qt:

  1. Add NMake to your path – For example add C:\Program Files\NMake to your path varialble if that is where you installed the NMake tool.
  2. Add the Qt bin folder to your path – If you installed Qt to C:\Qt\4.4.3 then add C:\Qt\4.4.3\bin to your path.
  3. Start a Visual Studio 2008 Command Prompt, not the usual cmd but the VS2008 one so that Qt can find the compilation (cl) and linking (link) tools.
  4. Navigate to the Qt folder, for example C:\Qt\4.4.3, and run “configure.exe -platform win32-msvc-2008″ which should create a file called “Makefile” in the Qt directory.
  5. Run NMake by typing “nmake” and wait while Qt compiles… this takes a LONG time.

Now that Qt is installed you are able to create a VS2008 solution file for Delta3D:

  1. Open the CMake tool. Select the CMake entry in your start menu (not the cmake-gui).
  2. Open an explorer window and drag the CMakeLists.txt file from the Delta3D folder into the CMake window.
  3. Click configure and wait while it checks your system. If it complains about QMAKE missing, find the relevant entry (some where in the bottom of the configurations in CMake) and point it to the qmake.exe in your Qt bin directory, and press configure again.
  4. When successfully configured press OK.

Now you have a VS2008 solution file in the root of your Delta3D folder. Open that with Visual Studio and build as necessary.

SCIM and Eclipse

Quick rant… if you, like me, use Ubuntu Hardy Heron or some other Linux distribution with SCIM enabled, and for some reason can’t use the ctrl+space auto-completion feature of Eclipse, check your SCIM key settings. In Hardy Heron SCIM gets input before other applications, like Eclipse, and ctrl+space is captured by SCIM and not send on to Eclipse. To get rid of that, simply delete that combination.

I don’t know why SCIM got enabled in the first place, but it’s pretty annoying. I know it makes you able to write Chinese characters ect. on the fly, but I don’t really need that! At first it had a bloody obnoxious input window pop-up all the time, but that’s easy to disable. For some reason the SCIM status icon in the panel can’t be removed. It has an exit option, but choosing exit only closes the program for a split second, after which it simply starts again. My best advice is simply to delete all keyboad shortcuts.

Really annoying!