MRC/Tutorials/Setting up an IDE: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
Line 18: Line 18:
</pre>
</pre>


= Use with ROS =
= Use Qt Creator for your project =


== Open an existing ROS package ==
Now you have installed a proper IDE, you can start to do some real programming! In previous tutorials, we created a C++ project called ''awesome_project'' and went through a little bit of work to get it to build using CMake. Now, that work will pay off: Qt Creator 'understands' CMake, so we can directly load the project. Simply start Qt Creator and:


# Make sure your package is in the ROS_PACKAGE_PATH, you can check this by navigating to your package using:
# From the home screen (''Welcome'' tab on the left) select ''Open Project''.
<pre> roscd <your_package_name>
# Navigate to the CMakeLists.txt in your project and open it
</pre>
# Now, Qt Creator will pop-up a window titled ''Build location''. Remember last tutorial? Qt Creator wants to create a ''build'' directory in which it will store the build files CMake generates. We already created a ''build'' directory (in the root of your project), so we can simply point Qt Creator to this directory. If you removed it for whatever reason, you can simply tell Qt Creator to create a new directory called ''build''.
# Start Qt Creator
#
# File -> Open File or Project
# Navigate to and open the '''CMakeLists.txt''' file of your package
# Change the build directory into ''<YOUR_PACKAGE_DIR>/build'' (that is: a '''/''' instead of a '''-'''). Click 'Next'.
# Click 'Run CMake'. This will automatically look for and include dependencies in the '''manifest.xml''' file, see which ''.cpp'' files you use, etc, based on your CMakeLists.txt.
# Click 'Finish'
 
Try it with the ROS package you created in this tutorial.
 
Now you are ready to start developing your code. Pressing ''Ctrl-b'' will build the active project. If you change the '''manifest.xml''' or '''CMakeLists.txt''' file, you only have to run CMake again (''Build -> Run CMake''). After compiling your package, Qt will show the warnings and errors in a much more user friendly way then your terminal!
 
== Show header files in the 'Projects View' ==
 
Qt Creator only shows your ''.cpp'' files in the 'Project View', which can be a bit of a nuisance. Often you would also like to see header files (.h) if you have them. To also show your header files, perform the following trick:
 
# Open ''CMakeLists.txt''
# Add the following line before ''rosbuild_add_executable'': <pre>file(GLOB_RECURSE HEADER_FILES include/*.h)</pre>This looks for all ''.h'' files in the ''include'' folder of your package, and stores them in the variable ''HEADER_FILES''.
# Add ''${HEADER_FILES}'' to your ''rosbuid_add_executable'' list. For example:<pre>rosbuild_add_executable(my_program src/program.cpp ${HEADER_FILES})</pre>
# Within Qt Creator, run CMake (''Build -> Run CMake'')
 
You should now be able to see all ''.h'' files in the ''include'' folder of your package.
 
= Troubleshoot =
 
== CMake Error ==
 
If you try to open your project in Qt Creator and you get the following message when running CMake:
 
<pre>
CMake Error: The current CMakeCache.txt directory <YOUR_PACKAGE>/build/CMakeCache.txt is different
than the directory <OTHER_DIR>/build where CMakeCache.txt was created. This may result in binaries
being created in the wrong place. If you are not sure, reedit the CMakeCache.txt
</pre>
 
you have probably moved your package without cleaning it (''make clean''). This means the absolute paths that where generated during building do not make sense anymore. To solve this, do the following:
 
* Clean your project, ''i.e.'', type ''make clean''
* Make sure there is no ''CmakeLists.txt.user'' in your package (it is auto-generated by Qt Creator and should '''not''' be on the SVN)
* Try to open your project again
 
 
 
Alright! Time to do some actual simulation! Let's [[Embedded Motion Control/Tutorials/Setting up the PICO simulator | fire up the PICO simulator! ]]

Revision as of 23:44, 28 April 2015

Introduction

To keep the code in your packages clear and manageable, it is advised to use an Integrated Development Environment (IDE) to edit your C++ code. Qt Creator is such an IDE for C++. It has the advantage of understanding you code up to some extend. This means Qt Creator can be used to, e.g., auto-complete names of variables and functions or get compilation error message in a nice way. Also, as was stated in the previous tutorial, it understands CMake, which allows it do be used to compile your project, and even run the resulting executables.

Installing Qt Creator

  1. Download Qt Creator for Linux:
  2. Open a terminal, cd to the folder where you downloaded the file (probably ~/Downloads)
  3. Make the file executable:
    chmod +x <INSTALL_FILE>
  4. Run the installation:
    ./<INSTALL_FILE>

If you installed Qt Creator in the default path, you can run it by calling:

~/qtcreator-3.3.2/bin/qtcreator

Use Qt Creator for your project

Now you have installed a proper IDE, you can start to do some real programming! In previous tutorials, we created a C++ project called awesome_project and went through a little bit of work to get it to build using CMake. Now, that work will pay off: Qt Creator 'understands' CMake, so we can directly load the project. Simply start Qt Creator and:

  1. From the home screen (Welcome tab on the left) select Open Project.
  2. Navigate to the CMakeLists.txt in your project and open it
  3. Now, Qt Creator will pop-up a window titled Build location. Remember last tutorial? Qt Creator wants to create a build directory in which it will store the build files CMake generates. We already created a build directory (in the root of your project), so we can simply point Qt Creator to this directory. If you removed it for whatever reason, you can simply tell Qt Creator to create a new directory called build.