多亏了一些帮助,我设法让下面的程序编译并运行,但是尽管它一直在运行,但我看不到 Pi 屏幕上绘制的任何内容。
我不认为这是使用 openvg 和 ajstarks 代码所独有的问题,因为在我编译测试程序的问题期间,我尝试了另一种编写图像的方式(对不起,我只记得它很低级别并且不需要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);
}