Build Instructions

These instrutions will allow a user to build our program and run it. The first step is to compile the program. Once the three main modules are compiled you then need to run the Robot Controller GUI. The Robot Controller GUI is started it is waiting for client connections to be established. The Simulation Robot or USRobot needs to be run. These two modules connect to the Robot Controller and accept movement commands from it. The USRobot receives commands from the Robot Controller and sends them to the actual robot. Here are examples on how to build the executables for the modules.
Two graphical user interfaces, and the Robot Interface Software.

Both GUI's were developed using GTK+ which is the GIMP ToolKit. Therefore these both need to be compiled on machines containing the appropriate libraries.

To following was the compile script for the Robot Controller GUI:

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I/usr/include -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/lib/glib/include -I/usr/X11R6/include -g -O2 -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -c main.cpp

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I/usr/include -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/lib/glib/include -I/usr/X11R6/include -g -O2 -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -c Support.cpp

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I/usr/include -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/lib/glib/include -I/usr/X11R6/include -g -O2 -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -c GUI.cpp

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I/usr/include -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/lib/glib/include -I/usr/X11R6/include -g -O2 -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -c EventHandlers.cpp RobotAPI.cpp

gcc -g -O2 -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -o seniordesign RobotAPI.o main.o Support.o GUI.o EventHandlers.o -rdynamic -L/usr/lib -L/usr/X11R6/lib -rdynamic -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lICE -lgtk -lgdk -lgmodule -lXi -lXext -lX11 -lgnome -lgnomesupport -lesd -laudiofile -lm -ldb1 -lglib -ldl -lpthread -lgthread

(where seniordesign is the executable)

The compile script for the simulated robot is:

g++ -w -pg -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/openwin/include -g -Wall -c main.c

g++ -w -pg -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/openwin/include -g -Wall -c support.c

g++ -w -pg -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/openwin/include -g -Wall -c interface.c

g++ -w -pg -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/openwin/include -g -Wall -c callbacks.c

g++ -w -pg -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/openwin/include -g -Wall -c RobotAPI.cpp

g++ -pg -g -Wall -o project2 main.o support.o interface.o callbacks.o RobotAPI.o -L/usr/local/lib -lgtk -lgdk -L/usr/local/lib -lgmodule -lglib -ldl -lnsl -lm -lgthread -lpthread

(where project2 is the executable)

To build the Robot Interface software type the following:

gcc USRobot.cpp RobotAPI.cpp -lpthread -o USRobot

(where USRobot is the executable)

This page last modified by Jeffrey Miller ( on July 17, 2001