Forum: PC-Programmierung Qtcreator + ROS + cmake


von jtag (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich versuche eine einfache Anwendung für ROS zu schreiben, welche mir 
auf einer GUI Rostopics ausgibt.
Der erste Schritt dazu war, ein neues, leeres package mit roscreate-pkg 
roscpp anzulegen und dieses über cmake in qtcreator zu importieren. Wenn 
ich jetzt aber cmake ausführe dann kommt folgender Fehler:

1
CMake Error at CMakeLists.txt:2 (include):
2
  include could not find load file:
3
4
    /core/rosbuild/rosbuild.cmake
5
6
7
CMake Error at CMakeLists.txt:12 (rosbuild_init):
8
  Unknown CMake command "rosbuild_init".
9
10
11
-- Configuring incomplete, errors occurred!

Ich scheitere also schon am ersten Schritt...
Ich benutze Ubuntu 12.04, Ros fuerte, cmake 2.8 und qtcreator 2.5.

Kann mir jemand helfen?

Grüße,
jtag

: Verschoben durch Admin
von Matthias R. (mons)


Lesenswert?

Existiert das file?
Du könntest mal die CmakeLists.txt so anzupassen, dass er nach
./core/rosmake*  sucht

Give it a try ;)

von jtag (Gast)


Lesenswert?

Danke für die Antwort,

aber so klappt es leider nicht.
Die Datei existiert, doch anscheinend kennt das CMake in QtCreator die
Variable ROS_ROOT nicht, das CMake in der Konsole schon.

Jetzt meine Frage, wie kann das in Qtcreator defineren? Wenn ich das in
der cmakelist.txt ändere, ist meine anwdnung nicht mehr portabel...


Grüße,
jtag

von Matthias R. (mons)


Lesenswert?

Dann setzt die Variable ROS_ROOT doch ;)

von Matthias R. (mons)


Lesenswert?

Ruf mal <Code>
cmake -DROS_ROOT=Path/to/ROS CmakeLists.txt
</Code> auch

von jtag (Gast)


Lesenswert?

Danke, aber damit komme ich auch nicht weiter.

Also fest steht, dass QT Creator die Umgebungsvariablen nicht hat, 
obwohl ich ihn aus der Konsole gestartet habe, so wie es empfohlen 
wurde. Ich starte ihn zwar mit sudo, aber da sollte nichts machen.
Den Pfad fest in die Cmake Datei zu schreiben löst zwar den Fehler, dass 
er das cmake Paket nicht findet, es spuckt aber danach noch mehr Fehler 
aus, weil die variable ROS_ROOT anscheinend intern noch benutzt wird.

Hat jemand noch einen Tipp für mich?

Grüße,
jtag

von jtag (Gast)


Lesenswert?

Hallo nochmal,

ich habe die Lösung gefunden, und zwar hat sudo doch etwas ausgemacht: 
Bei "sudo qtcreator" kannte er die Umgebungsvariablen in QtCrator nicht 
mehr, bei "qtcreator" ohne sudo hatte er nicht die Berechtigungen um 
seine Dateien zu generieren. Die Lösung ist:
1
sudo -s
2
qtcreator

Dann startet QtCreator mit root-Rechten und kennt seine Variablen noch. 
Das hat zumindest bei mir die Probleme gelöst.

Grüße,
jtag

von Rolf Magnus (Gast)


Lesenswert?

Die nächste Frage wäre nun, warum du überhaupt auf die Idee kommst, es 
als root zu starten.

von jtag (Gast)


Lesenswert?

Weil QtCreator sonst viele Fehlermeldungen bringt, dass seine config 
Dateien usw nicht lesbar sind und damit die selbstgeschriebenen Programm 
beim Debuggen auch Zugriff auf zB die serielle Schnittstelle haben.

Grüße

von Rolf Magnus (Gast)


Lesenswert?

jtag schrieb:
> Weil QtCreator sonst viele Fehlermeldungen bringt, dass seine config
> Dateien usw nicht lesbar sind

Das sollte aber nicht sein. Dann ist irgendwas verkonfiguriert.

> und damit die selbstgeschriebenen Programm beim Debuggen auch Zugriff auf
> zB die serielle Schnittstelle haben.

Dazu wäre es besser, deinen Benutzer in die Gruppe "dialout" 
aufzunehmen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.