-
Notifications
You must be signed in to change notification settings - Fork 4
PetEclipse
[http://www.eclipse.org/cdt/ Eclipse CDT] (Eclipse IDE for C/C++ Developers) offers a feature-rich development platform for C++, which facilitates editing, navigating, and debugging C++ source code. Eclipse CDT is available as a prepackaged bundle on [http://www.eclipse.org/downloads/] or it can be installed into an existing Eclipse installation via the Software Updates dialog.
In the following, I assume that Eclipse-CDT 6.0 is installed, that its workbench is located in ~/workbench and that PET should be set up as a project with two configurations, "debug" (allows for debugging in the Eclipse debugger) and "release" (optimized for speed). Before you go on, please make sure that the PetDependencies are satisfied.
-
Open the SVN Repository Exploring perspective in Eclipse
-
Add the repository URL https://pet.opendfki.de/repos
-
Navigate to the branch you want to check out, e.g. "/pet/main".
-
Click Checkout in the context menu.
-
Choose "Check out as a project using the New Project Wizard".
-
In the New Project Wizard, choose the C++ Project Wizard.
-
There, choose the project name, e.g. "pet", use "Makefile project / Empty project" as the project type and select "Other toolchain".
-
Finish
-
Open a terminal
-
Go to the freshly created project directory
cd ~/workbench/pet
-
Initialize the build tools by running
autoreconf -i
-
Create build directories for the different configurations:
mkdir -p build/debug mkdir -p build/release
-
Configure the different build directories (add further options as required):
cd build/debug ../../configure "CXXFLAGS=-g -O0" cd ../release ../../configure "CXXFLAGS=-g -O3" --disable-assert
-
Switch to the C/C++ perspective
-
Click Refresh in the context menu of the new project "pet"
-
Open the Project Properties
-
In the "Resource" section
- Set Text file encoding to "ISO-8859-1"
-
In "C/C++ General" --> "Paths and Symbols"
- In the Includes tab, under GNU C++, add the workspace location "/pet/common" for all configurations, "/pet/build/debug" for the debug configuration and "/pet/build/release" for the release configuration (the latter two in order to resolve pet-config.h)
- In the Source Location tab, add /pet/cheap, /pet/common, /pet/flop, /pet/fspp, and /pet/goofy in addition to the preconfigured /pet as the source folders for the two configurations
- In the Output Location tab, add the respective build directories for the two configurations
-
In the "C/C++ Build" section
- In "Manage Configurations", create two configurations "debug" and "release" corresponding to the two build directories (other configurations are not needed then)
- In the "Build location" area, set the build directory to
${workspace_loc:/pet/build/debug} for the debug configuration, and $ {workspace_loc:/pet/build/release} for the release configuration
-
General Settings:
-
Either in "Window" --> "Preferences" --> "General" --> "Editors" --> "Text editors" or in "Project Properties" --> "C/C++ General" --> "Code Style"
- Displayed tab size: 2
- Insert spaces for tabs
-
To prevent spurious diffs, make sure that trailing whitespace is not removed on save under "Window" --> "Preferences" --> "C/C++" --> "Editor".
-
-
Set the active configuration to debug
-
Select Project --> Build Project.
- You should see the make output in the Console view.
- If make was successful, there should be a Binaries branch in the Project Explorer.
-
Go to Run --> Run Configurations.
- Select "C/C++ Local Application"
- Click on the create icon.
- In the Main tab, search the project for the binary to run/debug, e.g. "cheap".
- In the Arguments tab, enter all arguments (minimally the grammar name for cheap) and select the grammar root directory as the working directory.
- Click Run
- Any run configuration is also a debug configuration, and vice versa.
Problem: The project is not built. Console outputs:
make all
make: *** No rule to make target `all'. Stop.
Make is executed in the directory specified as the build location. Make sure that the current build directory is valid for your active build configuration.
Problem: The debugger stops at or jumps to the wrong positions.
Make sure that your debug directory was configured with "CXXFLAGS=-O0".
Home | Forum | Discussions | Events