I need to develop a desktop application that will only run on Windows based machines. I've been trying to develp the solution in Java and have found it impossible to build the user interface to match my requirements. I think Qt and C++ is the only way to produce what I need. I have had C++ training but that was quite a few years ago. I am hoping to polish up my C++ skills while I am learning Qt and working with sample programs.

I have installed Qt 5.2.1 (MVSC 2010, 32 bit) along with Qt Creator 3.0.1 running on Windows 7 Pro. I have completed several of the Qt tutorials without major problems. Now I am trying to go through more advanced sample projects and have run into some significant issues. I believe it has to do with getting the project set up properly so that QMake can do what it needs to do.

We have a 3rd party C++ product that provides the GIS functionality we need. It was built using MVSC 2010 but I'm not sure which Qt version. It supports Qt and comes with a couple of sample projects. I am trying to get the simple HelloWorld project working in Qt. The Qt Creator project files are being built on the D: drive under D:\QtProjects\Examples for the moment.

The 3rd party product has been installed in the following directory structure:

Qt Code:
  1. C:\Program Files (x86)
  2. GIS
  3. GIS Engine 2 SDK
  4. bin
  5. include
  6. GIS
  7. Engine
  8. Controls
  9. Core
  10. DataSets
  11. Operators
  12. ** and others **
  13. libs
  14. samples
  15. *** and others ***
To copy to clipboard, switch view to plain text mode 

There are a couple environment variables that are pertinent. They are:

Qt Code:
  1. GIS_ENGINE_INCLUDE = C:\Program Files (x86)\GIS\GIS Engine 2 SDK\include
  2. GIS_ENGINE_LIBS = C:\Program Files (x86)\GIS\GIS Engine 2 SDK\libs
To copy to clipboard, switch view to plain text mode 

At first when I tried to build the project I was obviously having problems with the spaces in the file names. So I changed the environment variables to:

Qt Code:
  1. GIS_ENGINE_INCLUDE = C:\PROGRA~2\GIS\GISENG~1\include
  2. GIS_ENGINE_LIBS = C:\PROGRA~2\GIS\GISENG~1\libs
To copy to clipboard, switch view to plain text mode 

Now I am past that and getting more difficult problems.

The project file contains:

Qt Code:
  1. QT += widgets
  2. TEMPLATE = app
  3. TARGET = HelloWorldQt
  4. INCLUDEPATH += "$(GIS_ENGINE_INCLUDE)"
  5. QMAKE_LIBDIR += "$(GIS_ENGINE_LIBS)"
  6.  
  7. HEADERS += \
  8. ./helloworldqt.h \
  9. $$INCLUDEPATH/GIS/Engine/Controls/QtMapControl.hpp
  10.  
  11. SOURCES += \
  12. ./main.cpp \
  13. ./helloworldqt.cpp
  14.  
  15. FORMS += \
  16. ./helloworldqt.ui
To copy to clipboard, switch view to plain text mode 

There is a custom widget that implements QtMapControl. It is referenced in the helloworldqt.ui file. The details for the widget are:

Qt Code:
  1. <customwidget>
  2. <class>GIS::Engine::QtMapControl</class>
  3. <extends>QWidget</extends>
  4. <header>GIS/Engine/Controls/QtMapControl.hpp</header>
  5. <container>1</container>
  6. </customwidget>
To copy to clipboard, switch view to plain text mode 

When I attempt to build the project I get three duplicate errors in the ui_helloworldqt.h file. I assume this is generated by QtCreator from the user interface built in the Design editor. The error is:

C1083: Cannot open include file: 'GIS/Engine/Controls/QtMapControl.hpp': No such file or directory ui_helloworldqt.h 18

If I look at the generated header file, line 18 contains:

#include "GIS/Engine/Controls/QtMapControl.hpp"

I have tried a bit of everything and have been browsing forums for days. I have had help with the 8.3 file names but nobody seems to be able to provide any hints as to how I can get past the latest issues.

Could someone please help with some suggestions or explanations as to why I am getting these errors?