Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Language
English













SourceForge.net Logo



Getting started with TheIDE

1. After installation, start the Ultimate++ IDE.

2. Assembly and Packages

 

2.1

Select the existing assembly "MyApps" that exists by default, by clicking on it once (an assembly is a set of packages, see this page for details).

 

 

You can create a new assembly by right-clicking on the assembly list and choosing "new assembly". If you select an existing assembly before this, the directory settings from the existing assembly will be used.

If you're just getting started, leave this as it is and continue creating a package.

 

2.2

Press the "New package" button and the bottom of the window to create a new Package.

 

 

enter a package name, for this example we'll type "main", leave the "create in" directory as it is for now (i.e. on MyApps directory)

optionally you can fill in a short description of the package, that will appear in the package selection dialog

it is possible to choose one of predefined templates but we leave it on <empty> for now

finally press the "Create" button on the bottom of the window.

 

3. Configure the package and add files.

 

3.1 First, if this is your main package (if you don't know what a main package is, just assume it IS :) select "Main package configuration" from the "Project" menu.

 

Here you should set the configuration flags that your program needs.

For the main package, you must specify at least one possible configuration (otherwise you will not see your new package listed under the "MyApps" assembly - unless you select "all packages" - because only main packages are listed by default).

Just add an empty row for now (right click->"Append row" or press Insert key). The "optional name" can be left empty or you can enter any meaningful description for your own reference.

Note for windows users: If you add "GUI" flag here, the standard cin/cout/cerr will not be connected to anything. (so even if you start the program from the command line you will not see any text-output).

Press OK

 

3.2 You can now add files to you package, for this example, add a new file "main.cpp" to the package

Right click on the lower-left part of TheIDE (or on "File" in menu) and choose "Insert package directory file(s)", type "main.cpp" and click "Open". If the file does not exist, it will be created - that is why you won't find "New file" anywhere in TheIDE, it is just not needed.

 

 

type or copy this into the newly created file:

 

// -- example --     

    #include <iostream>

    

    int main(){

    

        char dummy;

        std::cerr << "Hello, platform! " << std::endl;

        std::cin >> dummy;

    }

// -- example --

 

If you have configured your compiler previously (you probably did, either the installer instructed you how to do it or it was done automatically), you can you press Ctrl+F5 to compile and start the program (typing any letter followed by enter will end the program)

Now you know how to use TheIDE to compile basic C++ program. Looking at the rest of documentation will give you better idea how to unleash the full power of TheIDE and U++. The best parts to continue would be probably Packages, Assemblies and Nests, and their configuration, something about the key technologies utilized in TheIDE: Assist++, Topic++, Blitz or even one of the tutorials linked from Manual section, if you want to learn more about how to use U++.

 

 

Some explaining about the TheIDE:

What is stored where ?

 

When first using the TheIDE, it can be confusing to see that settings like static/shared building, execute-, include- and linker- paths can be set in multiple places (for instance, in Project->Package organizer, in Setup->Build methods and by clicking on the current build method in the main screen (at the top, e.g. "GCC Debug").

 

Project->Package organizer:

 

 

Everything set here is stored in the .upp file of the package.

You can use your own (or existing) compiler switches to include different things for different builds here, based on configuration flags.

 

Examples:

 

When

Libraries

Comment

MSC

SDL

some extra library to link to with VC++ compiler

MSC

SDL_ttf

 

MINGW

mingw32

 

MINGW

SDL.dll

mingw compiler has special feature to link directly to .dll files

MINGW

SDL_ttf.dll

 

 

When

Compiler options

Comment

MSC

/Ot

additional compiler option for VC++.

 

When

Linker options

Comment

MSC

-nologo

some extra linker options when compiler is VC++.

 

Setup->Build methods:

 

Look carefully at the settings here, you can create different build methods

for different compilers.

Each method will store it's settings in a .bm file, the .bm (bm stands for build method) files are stored in ~/.theide on posix systems and in the exe-path of TheIDE on windows.

 

The boxes at the top of the windows called "Debug mode default" and "Release mode default" do NOT contain the options actually used for the current build. (they are not in effect when your press F5). These are the default values used for new projects, the options for the current build can be set by clicking on the current build method in the main screen (top of the screen e.g. "GCC Debug").

 

Notice that it has two "pull-down" arrows, the left one selects the build method, the right one sets the current build mode (debug, optimal, size and speed), the left one chooses build method.

    

Output mode

 

 

Link mode

All static - static libraries are preferred.

Shared libs - shared libraries are preferred but the program's packages will be linked static.

All shared, both the external libraries and the program's packages will be compiled and linked shared.

 

Target override

You can specify a target-location for the resulting binary here, by default it will be writing to (for example:)

C:\upp\out\$target\MINGW.Blitz.Debug.Shared.So.Win32\foo.exe

 

Last edit by dolik on 01/31/2011. This page is also in русский. Do you want to contribute?. T++