2015-11-03 14 views
6

Używam Qt Creator 3.5.1 i 4.8.2 QT na Ubuntu 14.04 LTS hosta, skonfigurowałem mojego zestawu BeagleBone dla ARM crosscompiling tak: QT for BeagleBoneQMainWindow: Nie ma takiego pliku lub katalogu

I m po these steps, ale pojawia się błąd podczas próby kompilacji domyślnego projektu QT QMainWindow Error

Czy brakuje mi czegoś? Jeśli nie zostanie znaleziony, nie znajduje się w miejscu, w którym wygląda kompilator. Jak to naprawić?

Oto mój plik projektu

Picture of my project

+1

Czy możesz zamieścić plik .pro? być może brakuje opcji "widgetów" w zmiennej QT. – HappyCactus

+0

Wysłałem to. @HappyCactus –

+1

Pole sysroot jest podejrzane. i sprawdź konfigurację zestawu, że "!" żółty znak mówi ci, że coś jest nie tak. – HappyCactus

Odpowiedz

1

Mybe wystąpił błąd podczas budowania qt ze źródła, lub czegoś brakuje. Spróbuj wyszukać QMainWindow.h w qt include dir. Wydaje się, że jest w /usr/local/qt4.8.2-armhf/include. Dla przykładu, możesz szukać w ten sposób: find * /usr/local/qt4.8.2-armhf/include/ | grep QMainWindow.

0

Przede wszystkim trzeba upewnić się, że krzyż prace kompilatora, kompilacji Hello World: std::cout << "hi\n" i uruchomić na urządzeniu za pomocą krzyżowego comipler gcc z linii poleceń.

Drugim krokiem jest upewnienie się, że qmake od krzyża skompilowany Qt działa zgodnie z oczekiwaniami, uruchom /usr/local/qt4.8.2-armhf/bin/qmake path/to/your/pro/file && make jeśli wszystko działa potem następny krok

trzecie, w ostatniej konfigurowania Qt Creator

Spójrz tutaj: http://developer.toradex.com/how-to/how-to-set-up-qt-creator-to-cross-compile-for-embedded-linux

Musisz ustawić sysroot do wartości właściwej, na przykład w moim przypadku jest to:

/usr/local/oecore-i686/sysroots/armv7a HF-VFP-neon-angstrom-linux-gnueabi/

wewnątrz tym katalogu "bin" i "lib" pełen wykonywalnych ramion i bibliotek ramion, to co "sysroot", jest częścią urządzenia system plików sklonowany do twojego kompilatora krzyżowego, który pomoże ci połączyć twoje aplikacje. Upewnij się również, że ustawiłeś właściwą ścieżkę do qmake dla kompilacji krzyżowej w preferencjach twórcy Qt, to powinno być takie: /usr/local/qt4.8.2-armhf/bin/qmake

0

Być może twoja wersja QT Creator jest nieaktualna. Projekty mogą ulec uszkodzeniu, jeśli zainstalujesz wersję programu QT Creator, która jest z nimi niezgodna. Możesz pobrać najnowszą wersję QT Creator w Centrum oprogramowania.

Musisz również upewnić się, że Twój QT jest aktualny. Sprawdź za pomocą Software Updater.

Znalazłem to; możesz rzucić okiem na to: derekmolloy.ie/beaglebone/qt-with-embedded-linux-on-the-beaglebone/#Source_Code

1

Używanie Qt 5.8.0 na Win 7/MSVC2015x64bit;

miałem ten sam problem i znalazłem sposób aby to naprawić, nawet jeśli jej nie najmądrzejszy:

1) Otwórz ProjectName.pro plik

2) Pomiędzy QT += core gui i greaterThan(QT_MAJOR_VERSION, X): QT += widgets pasty QT += widgets więc ta część wygląda trochę tak:

... QT += core gui QT += widgets greaterThan(QT_MAJOR...

Zapisz i zamknij plik .pro i czekać na Qt do automatycznego przeczytać zmiany plików i samo aktualizowanie.
(jeśli masz deaktivated to spróbuj zrestartować Qt)

Jak również to - zastępując znak „X” w greaterThan(QT_MAJOR_VERSION, X): QT += widgets z numerem wersji wcześniejszej niż za działa dobrze dla mnie. (X = your_major_version - 1)

(W przypadku korzystania Qt 5.x miejsce 4 zamiast 5, przy użyciu Qt 3.x zastąpić 3 z 2 i tak dalej ...)

nie wiem, czy to działa również na inne platformy ...

Mam nadzieję, że mogę pomóc co najmniej 1 osobie, która ma ten sam problem. ;)

Pozdrowienia Zitro

Powiązane problemy