Невозможно рисовать в C ++ на Raspberry Pi

Благодаря некоторой помощи мне удалось получить приведенную ниже программу для компиляции и запуска, но, хотя она продолжает пыхтеть, я не вижу ничего нарисованного на экране Пи.

Я не думаю, что это проблема, уникальная для использования кода openvg и ajstarks, так как во время проблема у меня была компиляция тестовой программы, Я попробовал другой способ написания изображений (извините, все, что я помню, это то, что он был низкого уровня и не нуждался во включениях для openvg). Для компиляции потребовалось немного поиска и переписывания, и когда это произошло, произошло то же самое.

Я выстоял некоторое время, но не получил, где. Были некоторые ссылки на какое-то ограничение с Raspberry Pi и X Windows, приводящее к той же самой проблеме. Вы рисуете что-то, но это не отображается. Учитывая, что было несколько комментариев, предполагающих, что openvg работал, я вернулся к этому и (благодаря парню по имени Росс) в конце концов понял, почему я не смог скомпилировать код.

Так что теперь я могу скомпилировать код, который должен успешно выполняться другими, но он ничего не рисует на экране. Я знаю, что код работает — он жует циклы процессора (ну, официальная демонстрация делает, мой меньше, хотя он все еще определенно идет), и код можно завершить с

Другой метод работы с графикой столкнулся с той же проблемой отсутствия вывода изображения, поэтому я думаю, что проблема где-то на моем Pi, но я нарисовал пробел о том, как обращаться к X Windows (или это мог быть X11, если бы Я держал открытые вкладки!) Не желая рисовать вопрос.

Любая помощь с благодарностью, заранее спасибо!

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

extern "C" {
#include "VG/openvg.h"#include "VG/vgu.h"#include "fontinfo.h"#include "shapes.h"}

using namespace std;

int main (void) {

int width, height;
VGfloat w2, h2, w;
char s[3];

init(&width, &height);                                      // Graphics initialization

w2 = (VGfloat)(width/2);
h2 = (VGfloat)(height/2);
w  = (VGfloat)w;

Start(width, height);                                       // Start the picture
Background(0, 0, 0);                                        // Black background
Fill(44, 77, 232, 1);                                       // Big blue marble
Circle(w2, 0, w);                                           // The "world"Fill(255, 255, 255, 1);                                     // White text
TextMid(w2, h2, "hello, world", SerifTypeface, width/10);   // Greetings
End();                                                      // End the picture
fgets(s, 2, stdin);                                         // Pause until RETURN]
finish();                                                   // Graphics cleanup
exit(0);
}

0

Решение

Хорошо…

Благодаря удаче я нашел ответ, и он странный. Для меня все равно …

В случае, если кто-то еще усомнился в проблеме, вот (частичное) решение, которое приводит к тому, что вскоре будет опубликован еще один вопрос.

Я пытаюсь запустить клуб программирования в своей школе, и нецелесообразно физически подключать Pi к kb, мышке и монитору, чтобы все они автоматически запускали VNC, а мы подключались к машинам с помощью Ultra-VNC. Программы написаны в общем каталоге, и Eclipse C ++ работает на хосте; поэтому весь вывод программы просматривается через VNC.

Я продолжал пытаться решить проблему, и в какой-то момент подключил клавиатуру и мышь и заметил, что они, казалось, были распознаны (включился лазер, переключился Caps Lock и т. Д.), Но они ничего не сделали, когда переместили / набрали на.

В конце концов, копейка начала болтаться, так как я все больше смущался, почему ни у кого больше не было этой проблемы. Казалось странным, что ни у кого больше не было проблемы, и тогда я начал задаваться вопросом больше о проблеме kb / mouse.

Я попытался подключить выход HDMI к монитору дома (все еще аналоговые d-sub!), И вот, физический кб и мышь работали. Тогда это стало действительно странно!

Как-то у меня одновременно работают 2 рабочих стола. Физическая клавиатура и мышь управляют одним, а VNC — другим. Интересно, что VNC имеет название Pi’s X Desktop Предполагая, что проблема с графикой может быть связана с X, но я не уверен по причине ниже.

Если я запускаю окно терминала на «Физическом» рабочем столе, оно не отображается на рабочем столе «VNC» и наоборот — они кажутся независимыми, хотя это не совсем так.

Когда я запускаю тестовый файл на «Физическом» рабочем столе, он работает нормально и может управляться только с помощью физического КБ. Когда я запускаю его на рабочем столе ‘VNC’, им можно управлять только с помощью VNC kb, но вывод выводится на физический экран.

Я действительно не понимаю этого!

Таким образом, это отвечает на оригинальный вопрос, так как программа работает на Pi.

Не задавать (надеюсь, последний) вопрос о том, как заставить VNC показывать «физический» рабочий стол или как настроить вывод графического объекта на «правильный» рабочий стол.

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector