由于一些帮助,我得到了下面的程序来编译和运行,但是虽然它一直在消失,我看不到在Pi的屏幕上绘制的任何东西。
我不认为这是使用openvg和ajstarks代码所特有的问题,因为在problem I had compiling the test progam期间,我尝试了一种不同的写图像方式(对不起,我记得的只是那个它是低级别的,并不需要openvg的包含。它花了一些时间进行搜索和重写以使其编译,当它发生同样的事情时。
我坚持了一段时间,但没有在哪里。 Raspberry Pi和X Windows引发了一些限制,导致了同样的问题。你绘制的东西但它没有显示。鉴于有几条评论表明openvg有效,我回过头来(感谢一个叫Ross的家伙)最终找出了为什么我无法编译代码。
所以现在我正处于可以编译其他人必须成功运行的代码的地步,但它并没有在屏幕上绘制任何东西。我知道代码运行 - 它咀嚼CPU周期(官方演示确实如此,尽管它仍然肯定会发展,但是我的代码可以放弃)并且代码可以退出
使用图形的另一种方法遇到了相同的无输出显示问题,所以我认为问题出在我的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 :(得分:0)
好的......
由于幸运,我找到了答案,这很奇怪。无论如何对我来说......
如果其他人遇到问题,这里的(部分)解决方案会导致另一个问题很快发布。
我正在尝试在我的学校开办一个编程俱乐部,将Pi的物理连接到kb,鼠标和显示器是不切实际的,所以他们都自动运行VNC,我们使用Ultra-VNC连接到机器。程序编写在共享目录中,Eclipse C ++在主机上运行;因此,所有程序输出都通过VNC查看。
我一直在尝试解决这个问题,并且一度连接了键盘和鼠标,并注意到它们似乎已被识别(激光打开,Caps Lock切换等),但是当他们没有做任何事情时移动/输入。
最后,随着我越来越困惑为什么没有其他人遇到这个问题,便士开始在边缘开始。似乎很奇怪,没有其他人有这个问题,然后我开始怀疑更多关于kb /鼠标的问题。
我尝试将HDMI输出插入家中的显示器(shool的仍然是模拟d-sub!)并且看,物理kb和鼠标工作。然后真的很奇怪!
不知何故,我有2台桌面同时运行。物理键盘和鼠标控制一个,VNC控制另一个。有趣的是,VNC的标题是 Pi的X桌面,暗示图形问题可能与X有关,但我不确定下面的原因。
如果我在“物理”桌面上启动一个终端窗口,它不会显示在“VNC”桌面上,反之亦然 - 它们似乎是独立的,尽管这并不完全正确。
当我在“物理”桌面上运行测试文件时,它工作正常,只能使用物理kb进行控制。当我在'VNC'桌面上运行它时,它只能用VNC kb控制,但输出显示在物理屏幕上。
我真的不明白!
所以,这回答了原始问题,因为程序确实在Pi上运行。
关于如何让VNC显示“物理”桌面或如何将图形输出定位到“正确”的桌面,发布(希望是最终的)问题。