ZUSAMMENSTELLUNG DER ANWENDUNGEN QT LINUX

Die Qt-Bibliothek ermöglicht es Ihnen, Cross-Plattform-Anwendungen zu tun. Einmal kann geschriebener Code unter den meisten Betriebssystemen zusammengestellt werden. Aber das Problem ist in dem Wort „kompilieren“, weil Es bedeutet, dass Sie für das Zielsystem neu gestartet werden muss, sei es eine maßgeschneiderte Entwicklungsumgebung installiert und Bibliotheken Zoo konfiguriert. Speichert Quer Compilierung - Kompilierung Erzeugen ausführbaren Code für eine andere Plattform als der, in dem ausgeführt wird.

Cross-Compilierung für Windows 64

Typischerweise ist eine der beliebtesten Probleme ist Windows-basierte Version seiner Anwendung zu erstellen, die ursprünglich für Linux entwickelt. Ein Beispiel für die Lösung dieses Problem hier oder in russischer Sprache zu sehen. Sie müssen eine mkspecs-Konfiguration erstellen, Qt-Dateien in dem entsprechenden Verzeichnis und alle setzen. Qt in diesem Fall Kompilieren ist nicht unbedingt, Sie die Binärdateien von der offiziellen Website herunterladen.

Dieser Ansatz hat mehrere Nachteile: 1) QtCreator installiert ein, so dass die Bibliothek weiß nichts; 2) Die offizielle bauen Qt für Windows x64 existieren. Und wenn das erste Problem noch irgendwie möglich gegen die zweite Compilation zu kämpfen nur helfen ...

Vor Querübersetzbarkeit vergessen Sie nicht direkt auf die Cross-Compiler zu setzen (Paket - Manager wird in dem Titel «mingw» gesucht). Und laden Sie die Quelle qt-überall von der offiziellen Website. Das Verzeichnis mkspecs entpackt Archiv der Ordner kopiert win32-g ++ in Win64-x-g ++ und den Inhalten der Datei anpassen die qmake.conf . Ich habe die folgenden:

In der Tat wurden nur die Pfade in der Spezifikationsdatei ersetzt.

Ich führte konfigurieren die folgenden Parameter:

./configure -xplatform win64-x-g++ CROSS_COMPILE=x86_64-w64-mingw32- -prefix /usr/local/qt4win64 -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-multimedia -no-qt3support -fast -nomake demos -nomake examples -nomake tools -device-option -little-endian -qt-zlib -qt-libpng -qt-libjpeg -openssl-linked -no-fontconfig -no-3dnow -no-ssse3 -continue

Hier sammeln die Mindestversion von Qt ohne webkit, Phonon, Multimedia, usw. Eine vollständige Liste der Optionen können auf Befehl betrachtet werden configure --help

Dementsprechend muss in einem solchen Montagepaket installiert g ++ - mingw-W64-x86-64 die an sich enthält , die x86_64-W64-mingw32- g ++ (in der Ubuntu Paket separat genommen werden müssen).

Als nächstes sudo die make && make das die Installation . In der ersten Phase der Kompilierung nativen Compiler - System verwendet, sammelt es die notwendigen Werkzeuge für Linux, die für die Montage verwendet werden Windows-Binärdateien.

Nach der Installation in meinem Verzeichnis / usr / local / qt4win64 / sind liegen PE32 + DLL und mehrere ELF 64-Bit - LSB ausführbare Datei, einschließlich: durch qmake, durch uic, die moc, RCC . Hier sind sie dann nützlich für QtCreator!

Nach der Installation nicht entfernen Sie das entpackte Verzeichnis - es verwendet wird.

Cross-Compilierung für Windows 32

Ähnliche für Win64 kompilieren. Außer der Tatsache , dass es eine offizielle Versammlung und brauchen nicht die Bibliothek selbst zu kompilieren! Genug , um zu sammeln durch qmake, durch uic, die moc, RCC .

konfigurieren:

qmake.conf

Cross-Kompilierung für Mac OS X

Querübersetzbarkeit für Mohn ist auch sehr ähnlich, mit der Ausnahme, dass es notwendig sein wird, zu sammeln und Compiler. Ich unter dieser Anweisung zusammengestellt. Es dauerte einen ganzen Tag Zeit und eine Menge Nerven. Im Prozess des Arbeits wird Mac OS X muß (zumindest in einer virtuellen Maschine) mit installiert XCode, da die beabsichtigt, die erforderlichen Dateien zu nehmen. Wenn ihre Qt-Anwendungen kompilieren Mac OS X ist nicht erforderlich.

konfigurieren:

qmake.conf:

Denken Sie daran, in Mac OS X mit der Bibliothek zu verknüpfen .a nicht erforderlich -Dateien.

Einstellen QtCreator

Zuerst müssen Sie in die Liste alle installierten Compiler hinzuzufügen. Extras - Optionen - Erstellen und Ausführen - Toolkit:

QtCreator bestimmt in der Regel die normale ABI, aber es ist besser, nochmals zu überprüfen. Sie können auch feststellen, dass das System x64 GCC unter Linux der Lage ist, 32-Bit-Anwendungen zu erzeugen. Dies ist jedoch negiert nicht die Tatsache, dass auch 32-Bit-Versionen der Bibliotheken benötigt.

Nach dem Compiler können Profile Qt hinzufügen:

Das ist , wenn Sie ein Profil hinzufügen und handlich zuvor gesammelt von qmake, durch uic, die moc, RCC , da Sie das Verzeichnis auswählen , müssen von qmake . Ein gelbes Symbol mit einem Ausrufezeichen auf der linken Seite des Profils bedeutet eine Warnung, aber QtCreator dieses Profil Qt verwenden können. Aber wenn ein rotes Symbol, das Profil einer Nicht-Arbeiten. Dies kann durch falsche Verzeichnisstruktur passieren. Oder wenn Sie das Verzeichnis löschen , in dem Sie Qt kompiliert haben.

Die folgenden Einstellungen müssen für jedes Projekt durchgeführt werden, um zu erstellen.

Um ein bestimmtes Qt-Profil hinzufügen sollte das aktive Projekt sein, gehen Sie auf die Registerkarte „Projekte» (Strg + 5):

Standardmäßig ist die Liste der „Ändern der Build-Konfiguration“ das einzige System Profil Qt. Aber in der Liste der Schaltflächen „Hinzufügen“, hat alle Profile Qt, die Build-Optionen hinzugefügt.

Die Hauptbaugruppe der Einstellungen müssen Sie ein paar Bibliothek Compiler überprüfen. So waren beide auf dem gleichen Betriebssystem.

Montageschritte «Qmake» und «Bauen» QtCreator setzt standardmäßig. Aber die Sonderprüfungen «upx» und «dmgbuild» Ich habe manuell zu dem Projekt hinzugefügt. Stage „upx“ läuft jedes Mal , wenn Sie auf klicken Sie auf „Build - Projekt.“ wenn die ausführbare Datei wurde jedoch nicht geändert, die upx einen Fehler zurück , dass es bereits die Datei verarbeitet hat. Im Fehlerfall ist die nächste Stufe nicht verursacht, d.h. dmg-Datei wird nur aktualisiert , wenn upx erfolgreich gearbeitet.

Lesen Sie mehr:   So erstellen Sie eine zwei Konten auf Skype

Arbeiten Bühne UPX es in dem System installiert werden muss. Allerdings arbeiten auch in Linux-Umgebung und von der Paket - Manager geliefert upx Anwendung komprimieren kann: linux32 / 64, win32, macos32 / 64. Nicht für alle upx-Kompression Projekt ist wirklich notwendig, Bühne zeigt eher ein Beispiel.

Für die Stufe «dmgbuild» nahm ich das Drehbuch make_dmg. Er braucht die richtige Wurzel , so wird das Skript hinzugefügt , um die Datei / etc / sudoers

Änderungen in der Projektdatei und die Verwendung von Bibliotheken von Drittanbietern

In meinem Projekt verwendet libusb , aber dies ist nicht Teil von Qt. Außerdem war es notwendig , plattformspezifische Implementierung des HID aufzunehmen. Die Linien wurden in der Projektdatei hinzugefügt:

macx {
INCLUDEPATH += $$PWD/libusbx/
SOURCES += BootLoader/HIDAPI/mac/hid.c
LIBS += -framework IOKit -framework CoreFoundation -lusb-1.0
ICON = AqPicFlash.icns
}

win32: {
INCLUDEPATH += $$PWD/libusbx/
LIBS += -lsetupapi -lole32
SOURCES += BootLoader/HIDAPI/windows/hid.cpp
RC_FILE = WinIcon.rc
}

win32: !win64-x-g++ {
LIBS += -L$$PWD/libusbx/ -lusb-1.0-32.dll
}

win64-x-g++ {
LIBS += -L$$PWD/libusbx/ -lusb-1.0-64.dll
}

unix: !macx {
CONFIG += link_pkgconfig
PKGCONFIG += libusb-1.0
SOURCES += BootLoader/HIDAPI/linux/hid-libusb.c
}

In Mac OS X und Linux linkuemsya systemischen libusb, in Windows, abhängig von der Bit linkuemsya mit libusb-1.0-32.dll.a oder libusb-1.0-64.dll.a . Denken Sie daran , dass .a -Datei umbenannt werden kann, sondern sind abhängig von der Anwendung wird sowieso auf libusb-1.0.dll . Unter Linux Libusb Parameter über das System - Utility pkgconfig zu nehmen. Neben libusb auf jedes Betriebssystem erforderliche Systembibliotheken und Symbole verbinden.

Günstig zertrümmern die resultierenden Dateien für verschiedene Betriebssysteme auf Verzeichnisse. Dies kann wie folgt geschehen:

macx {
DESTDIR = mac
OBJECTS_DIR = mac
MOC_DIR = mac
UI_DIR = mac
RCC_DIR = mac
}

unix: !macx {
DESTDIR = linux
OBJECTS_DIR = linux
MOC_DIR = linux
UI_DIR = linux
RCC_DIR = linux
}

win32 {
DESTDIR = windows/release
OBJECTS_DIR = windows
MOC_DIR = windows
UI_DIR = windows
RCC_DIR = windows
}

win64-x-g++ {
DESTDIR = win64/release
OBJECTS_DIR = win64
MOC_DIR = win64
UI_DIR = win64
RCC_DIR = win64
}

Der Zweck von win64-x-g ++ bezieht sich auf win32 , aber es gibt eine Projektdatei und die letzte Einstellung überschreiben.

Ergebnis

Jetzt die Anwendung unter einem bestimmten Betriebssystem zu bauen, wählen Sie die Art der Montage, wie in der ersten Screenshot gezeigt, und drücken Sie die „Build-Projekt“

QT ZUSAMMENSTELLUNG VON Fenster auf LINUX

Guten Tag.

Projekte im Rahmen des QT realisiert in QTCReator'e. Während die unter Windows gearbeitet, ist es nun notwendig, mein Programm unter Linux neu zu erstellen. Wie es richtig zu machen?

Die einfachste Sache, die den Sinn kam - ist ein Linux QtCreator zu setzen, und einen Windows-Rechner, wo ich ursprünglich programmiert, mein Projekt auf einem Linux-Rechner zu verschieben, öffnen Sie es in der Linux-Version QTCreator'a, einfach neu kompilieren. Auf einem einfachen proekperementiroval Projekt - in der Regel stellte sich heraus (natürlich unter Linux benutzerdefinierte Assembly, wie das Profil des QT, Compiler-Einstellungen usw. musste erstellen Aber was mit einer Quelle Papa jederzeit wieder nicht schön ist und her zu tragen.

Wie plattformübergreifende Arbeit mit dem Projekt für QT zu organisieren, mit QtCreator? Und vor allem für das Entwicklungsteam?

Hallo, Grizzli, Sie schrieb:

G> Wie plattformübergreifende Arbeit mit dem Projekt für QT organisieren, mit QtCreator? Und vor allem für das Entwicklungsteam?

Yuzayte einige svn oder so etwas. Kasse oder zu aktualisieren und zu bauen.

Hallo, Brice Tribbiani, Sie schrieb:

BT> Hallo, Grizzli, Sie schrieb:

G >> Wie plattformübergreifende Arbeit mit dem Projekt für QT organisieren, QtCreator mit? Und vor allem für das Entwicklungsteam?

BT> Yuzayte einige svn oder so etwas. Kasse oder zu aktualisieren und zu bauen.

Das ist verständlich, aber ich war besonders ärgerlich mich neobhodiomost separate Baugruppe auf verschiedenen Computern (in Windoof - unter Windoof auf Linux - sootvestvennos unter Linkous). Es ist unmöglich, die Montage zentral zu organisieren?

G> Es ist klar, aber ich war besonders ärgerlich mich neobhodiomost separate Baugruppe auf verschiedenen Computern (in Windoof - unter Windoof auf Linux - sootvestvennos unter Linkous). Es ist unmöglich, die Montage zentral zu organisieren?

leider gibt es keine!

Hallo, Werther, Sie schreibt:

G >> Es ist klar, aber ich war besonders ärgerlich mich neobhodiomost separate Baugruppe auf verschiedenen Computern (in Windoof - unter Windoof auf Linux - sootvestvennos unter Linkous). Es ist unmöglich, die Montage zentral zu organisieren?

Lesen Sie mehr:   INSTALL Muff RUSSIAN VERSION

B> Leider nein!

Ich habe im Internet Artikel traf (ältere) Leute Linux mingw zu setzen, und legen Sie in toolcheyn QTCReatore, ein Windoof zu kompilieren. jemand mit diesem stalikvalsya persönlich? macht es Sinn, zu stören?

Hallo, Grizzli, Sie schrieb:

G> Ich habe im Internet Artikel trifft (ältere) Leute Linux mingw zu setzen, und legen Sie in toolcheyn QTCReatore, einen Windoof zu kompilieren. jemand mit diesem stalikvalsya persönlich? macht es Sinn, zu stören?

Ich nicht persönlich erlebt, aber nicht sicher, dass es Sinn macht zu stören. Ich bin in Rede stehenden nicht gut, beschrieben im folgenden einfach einen Gedankenflug:

Zum Beispiel wollen Sie unter Linux aus unter Win, Linux, Mac kompilieren.

Linux - alles klar

Win - es ist notwendig, mingw zu stellen, die in der Lage sein wird, Windows SDK zu holen (und wenn Sie möchten msvc verwenden)

Mac - das gleiche (es unter ihm als sdk geht?)

Wir haben in der Praxis auf jeder Plattform 1mal konfigurierbare Umgebung, sowie das Build-System unter Verwendung von CMake. Ie gibt es für das Projekt keine praktische Notwendigkeit die Unterstützung für bestimmte Plattform.

MONTAGE UND ZUSAMMENSTELLUNG AUF LINUX

Alle Computerprogramme sind eine Reihe von CPU-Instruktionen, die aus einem bestimmten Satz von Bits bestehen. Diese Befehle mehrere hundert und mit ihnen alle Aktionen auf Ihrem Computer ausgeführt. Aber Programme von diesen Teams direkt zu schreiben ist schwierig. Daher wurde eine Vielzahl von Programmiersprachen erfunden, die einfachen Mann zu lesen.

Um ein Programm bereiten ein spezielles Programm zu implementieren, sammelt es aus dem Quellcode in einer Programmiersprache in Maschinencode - CPU-Team. Dieser Prozess wird Kompilation genannt. Linux - ist eine kostenlose Software, und daher wird die Programm-Quellcode ist für jedermann zugänglich. Wenn das Programm nicht in den Repositories ist, oder tun Sie etwas außerhalb der Box machen wollen, können Sie das Programm kompilieren.

In diesem Artikel schauen wir uns an, wie Sie Linux-Programme wie der Übersetzungsvorgang stattfindet, sowie Blick auf kompilieren, wie Sie flexibel alle einrichten.

Vorbereiten des Systems

Wir werden Programme kompilieren in C oder C ++ geschrieben, da dies die Sprache für Programme, die kompiliert werden müssen. Wir haben bereits dieses Thema ein wenig im Artikel Installation der tar.gz in Linux diskutiert, aber dieser Artikel ist mehr an Anfänger richtet, die nicht nur verstehen müssen, wie das fertige Programm zu bekommen.

Im gleichen Artikel erörterte das Thema näher. Wie Sie sich vorstellen können, für die Umwandlung des Quellcodes in dem Befehlsprozessor benötigen Sie eine spezielle Software. Wir werden die GCC-Compiler verwenden. Um es zu installieren, und alle notwendigen Werkzeuge in Ubuntu folgen:

sudo apt install build-essential manpages-dev git automake autoconf

compiling6

Dann können Sie die Installation und die Version des Compilers überprüfen:

 gcc --version

compiling5

Aber bevor sie zu den meisten der Kompilierung Programme bewegen zu betrachten genauer die Komponenten dieses Prozesses.

Wie ist eine Zusammenstellung?

Kompilieren Linux-Software - es durchaus ein komplizierter Prozess ist. Noch schwieriger, weil der Programmcode in einer einzigen Datei oder sogar alle Dateien von ihrer Quelle nicht enthalten ist. Jedes Programm verwendet eine Menge von System-Bibliotheken, die Standard-Funktionen enthalten. enthalten verschiedene Versionen von Bibliotheken Zusätzlich soll der gleiche Code in einer Vielzahl von Systemen arbeiten.

In der ersten Stufe, noch vor dem Start selbst Kompilation, hat ein spezielles Tool zu überprüfen, ob Ihr System mit dem Programm kompatibel ist, sowie, ob alle erforderlichen Bibliotheken sind. Wenn überhaupt nicht vorhanden ist, wird der Fehler ausgegeben, und Sie werden das Problem zu beheben haben.

Als nächstes kommt die Analyse und den Quellcode in Objektcode-Transformation, ohne diesen Schritt, es möglich wäre, zu tun, aber es ist notwendig, dass der Compiler verschiedene Optimierungen durchführen kann, um die Größe des endgültigen Programms zu machen, ist kleiner und effiziente CPU-Instruktionen.

Dann werden alle Objektdateien in einem einzigen Programm gesammelt, die Kommunikation mit Systembibliotheken. Nach Abschluss dieser Phase des Programms kann nur im Dateisystem und alle installiert werden. Dies sind die wichtigsten Phasen der Zusammenstellung des Programms, und jetzt gehen Sie näher zu üben.

Kompilieren Linux-Software

Das erste, was wir brauchen - ist die Quelle des Programms. In diesem Beispiel werden wir die neueste Version von vim sammeln. Das ist ziemlich neutral Programm ist ganz einfach und notwendig für alle, so ist es ideal für ein Beispiel.

Erster Quellcode

Das erste, was wir brauchen, ist der ursprüngliche Programmcodes, die bei GitHub verfügbar sind. Sie können den Quellcode für die meisten Linux-Programme auf GitHub finden. Darüber hinaus haben dort eine Montageanleitung:

Lesen Sie mehr:   Wie das Programm WORD EXEL zum Download

compiling7

Lassen Sie uns die die Quellen unseres Programms mit git Dienstprogramm herunterladen:

git clone https://github.com/vim/vim

compiling8

Außerdem können Sie wurde von der Website heruntergeladen Datei, und dann in einen Ordner entpacken Sie es, aber es wird bequemer. Das Dienstprogramm wird einen Ordner mit dem Namen des Programms erstellen, müssen wir daran arbeiten zu machen:

cd vim

Einstellung konfigurieren

Als nächstes müssen wir ein Skript auszuführen, das unser Programm mit dem System kompatibel sein überprüfen und die Kompilation Parameter konfiguriert. Er rief konfigurieren und kommt mit den Entwicklern der Programmquelle. Der gesamte Übersetzungsvorgang im Makefile beschrieben wird, wird es das Dienstprogramm erstellen.

Wenn configure nicht im Quellordner ist, können Sie versuchen, diese Skripte auszuführen, es zu schaffen:

./bootstrap

$ ./autogen.sh

Außerdem erstellen Sie ein Skript, dass Sie das Automake-Tool verwenden können:

aclocal

$ autoheader

$ automake --gnu --add-missing --copy --foreign

$ autoconf -f -Wall

Dienstprogramm auto und andere seiner Reihe von notwendigen Dateien Mackefile.am Datei-Basis zu erzeugen. Diese Datei wird in den meisten Projekten existieren.

Sobald Sie configure haben, können wir konfigurieren gehen. Einer der großen Vorteile der manuellen Montageprogramme ist, dass Sie, welche Optionen zu sammeln und das Programm wählen können, wo sie platziert werden soll und welche sollten zusätzliche Merkmale umfassen. All dies ist konfiguriert, um die configure verwenden. Umfassendes Angebot an Optionen kann, indem Sie eingesehen werden:

./configure --help

compiling1

Betrachten wir die am häufigsten Standard für alle Optionsprogramme verwendet:

  • PREFIX = -prefix - Ordner , um das Programm zu installieren, statt /, kann beispielsweise sein Verzeichnis / usr / local /, dann wird alle Dateien verteilt werden nicht durch das zugrunde liegende Dateisystem und / usr / local;
  • DIR = -bindir - Ordner für die ausführbaren Dateien bringen , sollte in der PREFIX befindet;
  • DIR = -libdir ist - Ordner für die Platzierung und die Standardbibliothek der Suche zu PREFIX;
  • DIR = -includedir - Ordner für die Menschen Seiten platzieren;
  • -Disable-Chance - diese Möglichkeit auszuschalten;
  • --Enable-Chance - die Chance zu spielen;
  • -Mit-Bibliothek - wie aktivieren aktiviert die angegebene Bibliothek oder Header - Datei;
  • -Ohne-Bibliothek - wie disable deaktiviert die Verwendung der Bibliothek.

Sie können ohne Optionen configure ausführen, um die Standardwerte zu verwenden, kann aber den richtigen Pfad manuell angeben auch. In unserem Fall gibt ./configure, und wir können es verwenden:

./configure

compiling2

Während des Setup - Programm überprüft , ob es alle notwendigen Bibliotheken im System vorhanden sind, und wenn nicht, werden Sie sie installieren müssen, oder schalten Sie diese Funktion aus, wenn möglich. Zum Beispiel kann es einen solchen Fehler sein: ! Die kein Terminal zur Überprüfung Bibliothek gefunden Tgetent () ... die configure: error: Der NOT FOUND ist!

compiling3

In diesem Fall müssen wir die erforderliche Bibliothek installieren. Zum Beispiel bietet das Programm die ncurses, so setzen wir:

sudo apt install libncurces-dev

Das Präfix lib wird immer in die Bibliothek aufgenommen und -dev - bedeutet, dass wir eine Bibliothek mit allen Header-Dateien benötigen. Nach Befriedigung aller Abhängigkeiten ist die Einrichtung erfolgreich war.

Montageprogramm

Wenn die Einstellung abgeschlossen ist und das Makefile ist bereit, können Sie direkt an das Montageprogramm gehen. In dieser den Quellcode Schritt direkt in die Maschine Transformation. machen Utility-basierte Makefile alle notwendigen Schritte tun:

make

compiling4

Dann bleibt es das Programm selbst zu schaffen, wenn Sie das Präfix Option nicht verwendet, um das Programm in das Hauptdateisystem zu installieren, ist es möglich, die Standard-Option machen, um gelten:

make install

Das Programm wird in den von Ihnen angegebenen Ordnern installiert werden, und Sie können es verwenden. Aber je mehr richtige Weg - ein Paket zu erstellen, das Programm zu installieren, dies erfolgt ist check Dienstprogramm ermöglicht es Ihnen, zu schaffen, sowohl die deb oder rpm-Pakete können daher verwendet werden, nicht nur in Ubuntu. machen Stattdessen installieren, ausführen:

checkinstall

Dann installieren Sie einfach das resultierende Paket dpkg:

sudo dpkg install vim.deb

Danach wird das Montageprogramm vollständig abgeschlossen und installiert haben, so können Sie auf die volle Nutzung bewegen.

Wenn Sie das Programm installiert make install, dann können Sie ihn entfernen, indem Sie den gleichen Ordner zu tun, den umgekehrten Befehl:

sudo make uninstall

Werden alle Dateien entfernen, die in das Dateisystem kopiert wurden.

In diesem Artikel haben wir uns, wie Sie Linux-Programme kompilieren. Dieser Prozess kann für Anfänger, aber in der Regel schwierig sein, alles ist möglich, wenn Sie das Problem für einige Stunden zu lösen nehmen. Wenn Sie Fragen haben, fragen Sie in den Kommentaren!

Am Ende des Videos, das Compiler und Interpreter ist:

in anderen Sprachen lesen

 BelorussianEnglisch Deutsch Spanisch Französisch Italienisch Portugiesisch Türkisch Arabisch Ukrainisch Schwedisch Ungarisch Bulgarisch Estnisch Chinesisch (vereinfacht) Vietnamesisch Rumänisch thailändisch Slowenisch Slowakisch serbisch malaiisch Norwegisch Lettisch Litauisch Koreanisch Japanisch Indonesier Hindi Hebräisch Finnisch Griechisch Holländisch Tschechisch Dänisch kroatisch Chinesisch (traditionell) Philippine Urdu Azeybardzhansky Armenischpolnisch Bengali georgisch Kasachisch Katalanisch Mongolski Russisch Tadzhitsky Tamil'skij telugu Uzbetsky

Kommentar hinzufügen

Ihre E-Mail wird nicht veröffentlicht. Erforderliche Felder sind markiert *