Development with Eclipse/ru

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(New page: {{Languages| Development with Eclipse}} A graphical Openmoko application is a gnome-based X application. Hence it is usually easy to build, run and debug it as program for the desktop comp...)
 
(A little bit more Russian-like)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{Languages| Development with Eclipse}}
 
{{Languages| Development with Eclipse}}
A graphical Openmoko application is a gnome-based X application. Hence it is usually easy to build, run and debug it as program for the desktop computer, uploading to the mobile phone only for the final stage of debugging. Even from the mobile phone, it is possible execute the program on the phone and still use the screen, mouse and keyboard of the desktop computer to observe its work. This article describes instructions for Debian, but they will likely work with any non broken Linux distribution.
+
Графические приложения Openmoko снованы на среде Gnome. Их легко создавать, запускать и отлаживать как программы для настольных ПК, а загружать в мобильный телефон только на финальной стадии отладки. Используя мобильный телефон, для манипуляции им и большего удобства работы можно задействовать экран, клавиатуру и мышь настольного комьютера. Данная статья предоставляет инструкции для Debian, но они подходят и для любых Linux-дистрибутивов.
  
Eclipse recently has the C/C++ development plug-in. You will need the recent Eclipse, this plug-in and you may need to upgrade the GTK development packages. The easiest way to get the simple application running is to create the managed C project and add `pkg-config --cflags --libs gtk+-2.0` both to the compiler options and to linker flags. After that, go to [http://library.gnome.org/devel/gtk-tutorial/stable/ GTK tutorial] and try, using it, to compose a simple application.  
+
Eclipse включает в себя модуль для разработки на C/C++. Вам необходима последняя версия Eclipse, плагин для C/C++ и, возможно, обновление пакета разработчика GTK. Самый лёгкий способ заставить простое приложение выполняться - это создать проект C и добавить во флаги компилятора и линковщика флаги `pkg-config --cflags --libs gtk+-2.0`. После этого зайдите на страницу [http://library.gnome.org/devel/gtk-tutorial/stable/ GTK tutorial] и, следуя данным там инструкциям, создайте простое приложение.
  
This approach not only shortens development cycle from minutes to seconds, but also allows to use the Eclipse debugger for C development, stepping through the code and watching variables.  
+
Данное решение не только сокращает время разработки, но также позволяет использовать отладчик Eclipse для разработки на C.
  
The executable for the mobile phone can usually be produced from the same source files using the Openmoko toolchain. As all surroundings of these files for Eclipse and Openmoko project are not the same, the most straightforward approach is just to set two development environments and put the symbolic links of the source files into the Openmoko project directory.  
+
Исполняемый файл для мобильного телефона обычно создаётся из тех же самых исходных кодов, что и при отдадке на настольном компьютере, с использованием [[Toolchain|средств разработки Openmoko]]. Так как процессы сборки под настольный компьютер и под телефон Openmoko различаются, самым лучшим вариантом является создание двух окружений разработки и создание символических ссылок для них.
  
 
After producing the Openmoko executable, it may be reasonable to try it via X, using the keyboard, mouse and screen of the desktop computer. All you need is to use the  -X option in the ssh command when you log in into the connected mobile phone. After that, you should be able to run the application inside the phone but have its X window on a screen of the desktop machine. This way you can check the actual execution speed and have access to the mobile phone devices that are not present on PC.
 
After producing the Openmoko executable, it may be reasonable to try it via X, using the keyboard, mouse and screen of the desktop computer. All you need is to use the  -X option in the ssh command when you log in into the connected mobile phone. After that, you should be able to run the application inside the phone but have its X window on a screen of the desktop machine. This way you can check the actual execution speed and have access to the mobile phone devices that are not present on PC.
Line 12: Line 12:
 
Eclipse allows to add the custom builder to the project. These builders can be either Ant scripts or the executable shell scripts. These possibilities can be used to force the Openmoko toolchain to produce the phone executable without leaving the Eclipse IDE.
 
Eclipse allows to add the custom builder to the project. These builders can be either Ant scripts or the executable shell scripts. These possibilities can be used to force the Openmoko toolchain to produce the phone executable without leaving the Eclipse IDE.
  
== Set up Freerunner build Config ==  
+
== Установка конфигурации создания Freerunner==
  
# install [[Toolchain]]
+
# Установите [[Toolchain]]
# open 'Properties' for your C or C++ Project
+
# Откройте 'Properties' для вашего проекта C или C++
# select 'C/C++ Build'->'Tool Settings'
+
# Выберите 'C/C++ Build'->'Tool Settings'
# click on 'Configuration'->'Manage' and create new configuration eg. Freerunner (copy settings from 'Relase' configuration)
+
# Выберите 'Configuration'->'Manage' и создайте новую конфигурацию, например "Freerunner" (скопируйте настройки с конфигурации 'Release')
# change GCC C||C++||Assembler Compiler command to /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc||g++||as
+
# измените GCC C||C++||Assembler Compiler command на /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc||g++||as
# change GCC Linker Command to /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc (g++ for C++ project)
+
# измените GCC Linker Command на /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc (g++ для проектов C++)
# go to 'Build Steps' and add ". /usr/local/openmoko/arm/setup-env" to 'Pre-build step'
+
# Перейдите в 'Build Steps' и добавьте ". /usr/local/openmoko/arm/setup-env" к 'Pre-build step'
# click Ok and select 'Freerunner' in 'Active Build Configuration' for your Project
+
# Щелкните на Ok и выберите 'Freerunner' в 'Active Build Configuration' для вашего проекта
  
You can copy your binary to Freerunner by adding Post-Build command in 'Build Steps' eg.  
+
----
 +
Поправки для Eclipse Ganymede (3.4)
  
scp ${project_name} root@neo:/home/root/dev_app/
+
There are three places where you have to change settings as above in Project Properties -> C/C++ Build -> Settings -> Tool Settings
 +
#GCC C Compiler -> Command: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc
 +
#GCC C Linker -> Command: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc
 +
#GCC Assembler -> Command: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc||g++||as
  
or you can Run you application on Freerunner by adding Run configuration
+
--[[User:Perty|Perty]] 20:22, 18 September 2008 (UTC)
 +
----
  
C/C++ Application: /usr/bin/ssh
+
Вы можеет скопировать свои бинарники на Freerunner через добавление команды Post-Build в 'Build Steps':
Arguments: root@neo "cd dev_app && DISPLAY=:0 ./${project_name}"
+
 
 +
scp ${имя_проекта} root@neo:/home/root/dev_app/
 +
 
 +
или же запустить ваше приложение на Freerunner, добавив в конфигурацию Run:
 +
 
 +
C/C++ Application: /usr/bin/ssh
 +
Arguments: root@neo "cd dev_app && DISPLAY=:0 ./${project_name}"
  
 
--[[User:PipBoy2000|PipBoy2000]] 22:30, 9 September 2008 (UTC)
 
--[[User:PipBoy2000|PipBoy2000]] 22:30, 9 September 2008 (UTC)
  
[[Category:Application Developer]]
+
==Настройка Eclipse для разработки с Qt4==
[[Category:Guides]]
+
 
 +
===Настройка Environment и Libraries===
 +
 
 +
* Установите [[Toolchain]]
 +
* Установите Eclipse с C/C++ development plug-in
 +
* Добавьте Anstrom Repository в '''Host'''-toolchain и также '''FreeRunner'''
 +
** Добавьте Anstrom Repository в '''Host'''-toolchain:
 +
<pre>
 +
echo arch base 50 >> /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/etc/opkg.conf
 +
echo src/gz base http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv4t/base >> /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/etc/opkg.conf
 +
</pre>
 +
 
 +
Затем:
 +
 
 +
<pre>
 +
opkg-target update
 +
opkg-target install qt4-x11-free
 +
opkg-target install qt4-x11-free-dev qt4-designer qt4-assistant
 +
</pre>
 +
 
 +
**Также добавьте [[Users Repositories|Anstrom Repository]] в '''FreeRunner''', после чего выполните:
 +
<pre>
 +
opkg update
 +
opkg install qt4-x11-free
 +
</pre>
 +
 
 +
===Конфигурирование проекта Eclipse ===
 +
Project - Properties --> C/C++ Build -- Закладка "Tool Settings"
 +
 
 +
====Конфигурация: Debug====
 +
 
 +
*GCC c++ compiler -> Directories - добавить "/usr/include/qt4" и "/usr/include/qt4/QtGui"
 +
*GCC C++ Linker -> Libraries - установить:
 +
**Libraries (-l): "QtCore" и "QtGui"
 +
**Library search path (-L): "/usr/lib"
 +
 
 +
====Конфигурация: Freerunner====
 +
 
 +
Project - Properties --> C/C++ Build -- Закладка "Tool Settings"
 +
 
 +
Создаём конфигурацию "Freerunner", выбрав 'Configuration'->'Manage' и создав новую конфигурацию, например "Freerunner" (скопируйте настройки из конфигурации 'Release')
 +
 
 +
*GCC C++ Compiler
 +
<pre>
 +
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/g++
 +
</pre>
 +
*GCC C++ Compiler -> Directories
 +
<pre>
 +
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore
 +
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui
 +
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/include/qt4
 +
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/include/c++/4.1.2/arm-angstrom-linux-gnueabi
 +
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/include/c++/4.1.2
 +
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/include/c++/4.1.2/backward
 +
</pre>
 +
*GCC C++ Linker
 +
<pre>
 +
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/g++
 +
</pre>
 +
*GCC C++ Linker -> Libraries --- add
 +
**Libraries (-l): "QtCore" и "QtGui"
 +
**Library search path (-L): "/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/lib"
 +
* GCC Assembler
 +
<pre>
 +
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/as
 +
</pre>
 +
 
 +
Затем переходим к закладке 'Build Steps' и добавляем ". /usr/local/openmoko/arm/setup-env" к 'Pre-build step'
 +
 
 +
====workaround to deal with .ui файлы с Qt-Designer====
 +
 
 +
Если у кого-то есть решение получше, не держите это в себе, расскажите здесь о нём!
 +
 
 +
Создайте новый проект с вышеперечисленными свойствами.
 +
Для компилирования вашего проекта вызовите терминал в Project - Folder и введите:
 +
<pre>
 +
qmake-qt4 -project
 +
qmake-qt4
 +
make
 +
</pre>
 +
и собирайте ваш проект с конфигурацией "Freerunner".
 +
 
 +
[[Category:Application Developer/ru]]

Latest revision as of 09:47, 6 November 2008

Графические приложения Openmoko снованы на среде Gnome. Их легко создавать, запускать и отлаживать как программы для настольных ПК, а загружать в мобильный телефон только на финальной стадии отладки. Используя мобильный телефон, для манипуляции им и большего удобства работы можно задействовать экран, клавиатуру и мышь настольного комьютера. Данная статья предоставляет инструкции для Debian, но они подходят и для любых Linux-дистрибутивов.

Eclipse включает в себя модуль для разработки на C/C++. Вам необходима последняя версия Eclipse, плагин для C/C++ и, возможно, обновление пакета разработчика GTK. Самый лёгкий способ заставить простое приложение выполняться - это создать проект C и добавить во флаги компилятора и линковщика флаги `pkg-config --cflags --libs gtk+-2.0`. После этого зайдите на страницу GTK tutorial и, следуя данным там инструкциям, создайте простое приложение.

Данное решение не только сокращает время разработки, но также позволяет использовать отладчик Eclipse для разработки на C.

Исполняемый файл для мобильного телефона обычно создаётся из тех же самых исходных кодов, что и при отдадке на настольном компьютере, с использованием средств разработки Openmoko. Так как процессы сборки под настольный компьютер и под телефон Openmoko различаются, самым лучшим вариантом является создание двух окружений разработки и создание символических ссылок для них.

After producing the Openmoko executable, it may be reasonable to try it via X, using the keyboard, mouse and screen of the desktop computer. All you need is to use the -X option in the ssh command when you log in into the connected mobile phone. After that, you should be able to run the application inside the phone but have its X window on a screen of the desktop machine. This way you can check the actual execution speed and have access to the mobile phone devices that are not present on PC.

Eclipse allows to add the custom builder to the project. These builders can be either Ant scripts or the executable shell scripts. These possibilities can be used to force the Openmoko toolchain to produce the phone executable without leaving the Eclipse IDE.

Contents

[edit] Установка конфигурации создания Freerunner

  1. Установите Toolchain
  2. Откройте 'Properties' для вашего проекта C или C++
  3. Выберите 'C/C++ Build'->'Tool Settings'
  4. Выберите 'Configuration'->'Manage' и создайте новую конфигурацию, например "Freerunner" (скопируйте настройки с конфигурации 'Release')
  5. измените GCC C||C++||Assembler Compiler command на /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc||g++||as
  6. измените GCC Linker Command на /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc (g++ для проектов C++)
  7. Перейдите в 'Build Steps' и добавьте ". /usr/local/openmoko/arm/setup-env" к 'Pre-build step'
  8. Щелкните на Ok и выберите 'Freerunner' в 'Active Build Configuration' для вашего проекта

Поправки для Eclipse Ganymede (3.4)

There are three places where you have to change settings as above in Project Properties -> C/C++ Build -> Settings -> Tool Settings

  1. GCC C Compiler -> Command: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc
  2. GCC C Linker -> Command: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc
  3. GCC Assembler -> Command: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc||g++||as

--Perty 20:22, 18 September 2008 (UTC)


Вы можеет скопировать свои бинарники на Freerunner через добавление команды Post-Build в 'Build Steps':

scp ${имя_проекта} root@neo:/home/root/dev_app/

или же запустить ваше приложение на Freerunner, добавив в конфигурацию Run:

C/C++ Application: /usr/bin/ssh Arguments: root@neo "cd dev_app && DISPLAY=:0 ./${project_name}"

--PipBoy2000 22:30, 9 September 2008 (UTC)

[edit] Настройка Eclipse для разработки с Qt4

[edit] Настройка Environment и Libraries

  • Установите Toolchain
  • Установите Eclipse с C/C++ development plug-in
  • Добавьте Anstrom Repository в Host-toolchain и также FreeRunner
    • Добавьте Anstrom Repository в Host-toolchain:
echo arch base 50 >> /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/etc/opkg.conf
echo src/gz base http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv4t/base >> /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/etc/opkg.conf

Затем:

opkg-target update
opkg-target install qt4-x11-free
opkg-target install qt4-x11-free-dev qt4-designer qt4-assistant
    • Также добавьте Anstrom Repository в FreeRunner, после чего выполните:
opkg update
opkg install qt4-x11-free

[edit] Конфигурирование проекта Eclipse

Project - Properties --> C/C++ Build -- Закладка "Tool Settings"

[edit] Конфигурация: Debug

  • GCC c++ compiler -> Directories - добавить "/usr/include/qt4" и "/usr/include/qt4/QtGui"
  • GCC C++ Linker -> Libraries - установить:
    • Libraries (-l): "QtCore" и "QtGui"
    • Library search path (-L): "/usr/lib"

[edit] Конфигурация: Freerunner

Project - Properties --> C/C++ Build -- Закладка "Tool Settings"

Создаём конфигурацию "Freerunner", выбрав 'Configuration'->'Manage' и создав новую конфигурацию, например "Freerunner" (скопируйте настройки из конфигурации 'Release')

  • GCC C++ Compiler
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/g++
  • GCC C++ Compiler -> Directories
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/include/qt4
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/include/c++/4.1.2/arm-angstrom-linux-gnueabi
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/include/c++/4.1.2
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/include/c++/4.1.2/backward
  • GCC C++ Linker
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/g++
  • GCC C++ Linker -> Libraries --- add
    • Libraries (-l): "QtCore" и "QtGui"
    • Library search path (-L): "/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/lib"
  • GCC Assembler
/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/as

Затем переходим к закладке 'Build Steps' и добавляем ". /usr/local/openmoko/arm/setup-env" к 'Pre-build step'

[edit] workaround to deal with .ui файлы с Qt-Designer

Если у кого-то есть решение получше, не держите это в себе, расскажите здесь о нём!

Создайте новый проект с вышеперечисленными свойствами. Для компилирования вашего проекта вызовите терминал в Project - Folder и введите:

qmake-qt4 -project
qmake-qt4
make

и собирайте ваш проект с конфигурацией "Freerunner".

Personal tools

A graphical Openmoko application is a gnome-based X application. Hence it is usually easy to build, run and debug it as program for the desktop computer, uploading to the mobile phone only for the final stage of debugging. Even from the mobile phone, it is possible execute the program on the phone and still use the screen, mouse and keyboard of the desktop computer to observe its work. This article describes instructions for Debian, but they will likely work with any non broken Linux distribution.

Eclipse recently has the C/C++ development plug-in. You will need the recent Eclipse, this plug-in and you may need to upgrade the GTK development packages. The easiest way to get the simple application running is to create the managed C project and add `pkg-config --cflags --libs gtk+-2.0` both to the compiler options and to linker flags. After that, go to GTK tutorial and try, using it, to compose a simple application.

This approach not only shortens development cycle from minutes to seconds, but also allows to use the Eclipse debugger for C development, stepping through the code and watching variables.

The executable for the mobile phone can usually be produced from the same source files using the Openmoko toolchain. As all surroundings of these files for Eclipse and Openmoko project are not the same, the most straightforward approach is just to set two development environments and put the symbolic links of the source files into the Openmoko project directory.

After producing the Openmoko executable, it may be reasonable to try it via X, using the keyboard, mouse and screen of the desktop computer. All you need is to use the -X option in the ssh command when you log in into the connected mobile phone. After that, you should be able to run the application inside the phone but have its X window on a screen of the desktop machine. This way you can check the actual execution speed and have access to the mobile phone devices that are not present on PC.

Eclipse allows to add the custom builder to the project. These builders can be either Ant scripts or the executable shell scripts. These possibilities can be used to force the Openmoko toolchain to produce the phone executable without leaving the Eclipse IDE.

Set up Freerunner build Config

  1. install Toolchain
  2. open 'Properties' for your C or C++ Project
  3. select 'C/C++ Build'->'Tool Settings'
  4. click on 'Configuration'->'Manage' and create new configuration eg. Freerunner (copy settings from 'Relase' configuration)
  5. change GCC C||C++||Assembler Compiler command to /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc||g++||as
  6. change GCC Linker Command to /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc (g++ for C++ project)
  7. go to 'Build Steps' and add ". /usr/local/openmoko/arm/setup-env" to 'Pre-build step'
  8. click Ok and select 'Freerunner' in 'Active Build Configuration' for your Project

You can copy your binary to Freerunner by adding Post-Build command in 'Build Steps' eg.

scp ${project_name} root@neo:/home/root/dev_app/

or you can Run you application on Freerunner by adding Run configuration

C/C++ Application: /usr/bin/ssh
Arguments: root@neo "cd dev_app && DISPLAY=:0 ./${project_name}"

--PipBoy2000 22:30, 9 September 2008 (UTC)