簡體   English   中英

無法在Raspberry Pi上用C ++繪制

[英]Unable to Draw in C++ on Raspberry Pi

多虧了一些幫助,我設法將下面的程序編譯並運行了,但是盡管它一直在忙碌着,但我在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);
}

好...

多虧了運氣,我找到了答案,這很奇怪。 反正對我來說

萬一其他人遇到問題,這里是(部分)解決方案,這會導致另一個問題很快就會發布。

我試圖在學校里運行一個編程俱樂部,將Pi物理連接到kb,鼠標和顯示器是不切實際的,因此它們都可以自動運行VNC,而我們使用Ultra-VNC連接到計算機。 這些程序被寫在一個共享目錄中,並且Eclipse C ++在主機上運行。 因此,所有程序輸出均通過VNC查看。

我一直在繼續嘗試解決問題,有一次我連接了鍵盤和鼠標,並注意到它們似乎可以被識別(出現了激光,按下了Caps Lock鍵等),但是在移動/打字時它們什么也沒做上。

最終,隨着我越來越困惑為什么沒有其他人遇到這個問題,一分錢便開始在邊緣冒出來。 沒有人遇到這個問題似乎很奇怪,然后我開始對kb / mouse問題產生更多的疑問。

我嘗試將HDMI輸出插入家用顯示器(學校的仍然是模擬d-sub!),瞧瞧,物理kb和鼠標都能正常工作。 然后真的很奇怪!

不知何故,我有2個台式機同時運行。 物理鍵盤和鼠標控制一個,而VNC控制另一個。 有趣的是,VNC的標題為Pi的X桌面,表明圖形問題可能與X有關,但由於以下原因,我不確定。

如果我在“物理”桌面上啟動終端窗口,則該窗口不會顯示在“ VNC”桌面上,反之亦然-它們似乎是獨立的,盡管並非如此。

當我在“物理”桌面上運行測試文件時,它工作正常,並且只能使用物理kb進行控制。 當我在“ VNC”桌面上運行它時,只能用VNC kb對其進行控制,但輸出將顯示在物理屏幕上。

我真的不明白!

因此,由於程序確實在Pi上運行,因此可以回答原始問題。

下一個問題(希望是最后一個問題),發布有關如何使VNC顯示“物理”桌面或如何將圖形輸出定向到“正確”桌面的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM