Status & Roadmap
Authors & License
Funding U++
Search on this site

SourceForge.net Logo

SourceForge.net Logo

GitHub Logo

Discord Logo


Installation (MS Windows)

How do I un-install U++?

U++ now uses portable approach. All you need to do is just remove directory with U++. Make sure to backup any sources that you have created inside this directory, e.g. in MyApps folder.

U++ Library

Is there a complete list of U++ widgets?


When compiling using Visual C++ 2021 compiler, I am getting errors like:

F:\upp\uppsrc\CtrlLib/CtrlLib.t : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss

F:\upp\uppsrc\CtrlLib/CtrlLib.t(29) : error C2001: newline in constant

This compiler for some reasons checks whether the content of string literals is correct with respect to default windows character set. For CJK, default character set uses multi-byte encoding and some of sequences in this encoding can be wrong.

This should be fixed by #pragma setlocal("C"), but for some reason it does not seem to work.

The only known solution at the moment is to switch the default encoding of Windows to some single-byte character set (like Windows 1250).


Why compilation of simple examples like "HelloWorld" takes so long? Is not BLITZ supposed to be fast?

The very first build of any GUI example has to build complete U++ library, something you cannot expect to happen in seconds. After this first rebuild, results (object and/or library files) are cached for future similar builds which should be significantly faster.

What is <prj-aux>, <ide-aux> and <temp-aux>?

In order to be able to work with files that are not part of project (aka main package), we have "pseudopackages". There are three:

<prj-aux> list of files is stored with project

<ide-aux> list of files is global - is available in any project

<temp-aux> list of files is temporary, list is empty after TheIDE starts.

"Open file..." (Ctrl+O) places the file into <temp-aux> pseudo-package.

TheIDE ignores international characters. Is it a bug?

Check the code-page of your file. TheIDE does not allow you to enter the character that is not representable in the code-page of your file. You can setup code-page for the file, for the whole package (in package organizer) and also default code-page for TheIDE (default of this default is Win1252).

I would like to launch/execute my application. How can I do that?

Launching application is one of the most important part of programming. It allows you to see how code works on real machine. TheIDE offers two basic ways to do that. First of all you can launch your application using "Execute" button  (CTRL + F5) from main tool bar. Moreover, you can run your program directly in debugger by clicking on "Debug" button (F5). The second way is recommended during production process. The execution can be used when you want quickly show your application to other people. The localization of this buttons is shown on the following screen shot:

What is debugging and why should I use it?

The debugger is the program that controls execution of application. As the name suggests, it allows to find bugs easier. It is mainly, because it posses several critical features:

Stopping execution at any place.

Viewing variables values.

Detects the place of application crash.

Print stack trace.

TheIDE natively supports debugger on all platforms. So, using it at development stage is recommended option. Please notice that to take advantage of all features you must build your application in DEBUG option.

How to insert a new file into the package?

Right-click on the file list and invoke "Insert package directory file(s)". This allows you both to insert existing files, but also to insert (create) new files - just type in the name of file (or even several files) into the File field.

Alternatively, in newer versions of TheIDE (Currently available only in nightly builds). You can add new file by right clicking on the file list and select "New package file". This option is available on the top of the list. After that you can specific file type by selecting category. It will automatically select extension for your new file. After that all you need to do is specific file name. Below is the screen shoot that presents where this option is localized:


How to start the layout (image) designer?

Insert a file with the .lay (or .iml) extension to your project. By clicking this file layout (image) designer will be invoked to edit it.

File with layout (.lay) or image list (.iml) switched to the text format. How do I switch it back?

Please invoke menu "Edit / Edit using designer", or press hotkey which defaults to Ctrl+T.

In the newer versions of TheIDE we added switch in main tool bar. You can easily switch between text and designer mode by pressing buttons. Below is the screen shot that presents localization of discussed switch:

Could someone point me to a detailed, step by step, description how to build the IDE from the fresh SVN sources? (I do have TheIDE installed.)

Get fresh sources from svn://www.ultimatepp.org/upp/trunk/. If you don't know how to do that - please firstly read our documentation site about SVN.

"trunk/uppsrc" contains U++ library and TheIDE.

Start TheIDE.

Now click on the left "Assembly" pane. Right click, choose "New".

To the "Package nests" fill the path to uppsrc from svn (e.g. "c:\uppsrc.svn"). "Output...." fill any nice output path (should not be the same as the path for 2008.1 uppsrc). "Assembly" - fill "uppsrc.svn".


Click OK. Make sure "uppsrc.svn" is selected. In the right pane, choose "ide", push "OK".

Now make sure you build in optimal mode - there is a "weird" combo box (DropList) with left and right drop buttons in the toolbar. Click the right button and choose Optimal.



Then click the bomb in the tool bar. ("Rebuild all").

It should build. Then, if you are in win32, you can choose "Build/Open output directory" to fetch the result. Replace theide.exe in your upp directory. I recommend keeping existing theide.exe under different name as backup.

Note: You might want to use current U++ library too. You can do this by putting it to appropriate assemblies - without much further explanation, try e.g. right clicking Edit on MyApps in the initial TheIDE dialog and see paths.


I have read whole FAQ and I didn't find answer for my question. What should I do?

This FAQ contains only simply set of questions. You can find more information in our official documentation available on our site and bundle with U++. If this doesn't help, you can always ask you question on our official forum.

The image on this site is too small. How can I make it bigger?

Simply, click on it.

What is the official name of the project?

As of today, the official name of the project is U++. This name should only be used in the context of our project.

In the past, we used the name of Ultimate++. However, we came to the conclusion that this name doesn't fit well with our project and has certain drawbacks. U++ is simple, powerful, and sufficient for our needs.

If you plan to write an article or book about our framework, please make sure you use our current official name. From a marketing point of view, we need to focus only on one name and not use any substitutions or alternative names.


Do you want to contribute?