![](/img/trans.png)
[英]How do i set up termios parameters in C++ for a Raspberry PI USB UART connection?
[英]How do I Control Which Desktop C++ Graphics Output to on Raspberry Pi?
我試圖在學校里運行一個編程俱樂部,將Pi物理連接到kb,鼠標和顯示器是不切實際的,因此它們都可以自動運行VNC,而我們使用Ultra-VNC連接到計算機。 這些程序被寫在一個共享目錄中,並且Eclipse C ++在主機上運行。 因此,所有程序輸出均通過VNC查看。
使用Python進行編程時以及我們開始使用C ++時,一切都很好。 但是,當嘗試顯示圖形時,我碰到了磚牆。 我可以構建一個看起來可以運行的程序,但是該程序只能提供終端輸出-它永遠不會在屏幕上顯示圖形。 在嘗試解決該問題時,曾一度連接了鍵盤和鼠標,並注意到它們似乎可以被識別(出現了激光,按下了Caps Lock鍵等),但是在移動/鍵入時它們什么也沒做。
最終,由於越來越多的人開始使用openvg,似乎又有很多人對此感到困惑,我開始對此越來越困惑,一分錢一分錢都開始變得微不足道。我開始對kb / mouse問題產生了更多的疑問。
我嘗試將HDMI輸出插入家用顯示器(學校的仍然是模擬d-sub!),瞧瞧,物理kb和鼠標都能正常工作。 然后真的很奇怪!
不知何故,我有2個台式機同時運行。 物理鍵盤和鼠標控制一個,而VNC控制另一個。 如果我在“物理”桌面上啟動終端窗口,則該窗口不會顯示在“ VNC”桌面上,反之亦然-它們似乎是獨立的,盡管並非如此。
當我在“物理”桌面上運行圖形可執行文件時,它可以正常工作,並且只能使用物理kb進行控制。 當我在“ VNC”桌面上運行它時,只能用VNC kb對其進行控制,但輸出將顯示在物理屏幕上。
我真的不明白!
我有點需要能夠通過VNC運行程序,但是我需要能夠告訴我要運行的代碼輸出到哪個桌面,因為它似乎默認為錯誤的桌面。 實際上,讓VNC連接到現有的HDMI桌面而不是啟動一個新的HDMI桌面是可取的,但是我無法找到如何告訴緊密的VNC那樣做。
代碼在這里,但是我認為問題可能出在庫中的init()函數中,因此最好將VNC安裝到正確的桌面上。
在此先感謝您的幫助!
#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);
}
請參閱最后評論-放棄了openvg並使用X Windows。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.