Ответ на:
комментарий
от fluorite 15.02.18 14:18:12 MSK
Да,я читал, но я вообще не в теме по поводу Perl, если запускать qmake(это который запускается в самом креаторе или что-то другое), то что и куда надо расположить перед этим. Хотя написано, что расположить можно куда душе пожелает. И как тогда
QT += xlsx
поймет, откуда доставать.
В общем, для меня вообще не понятно, зачем надо лезть в cmd и делать cd. У меня Виндовс7.
Поэтому прошу научить, как достать из этого пакета .lib
Tumyq
(15.02.18 14:29:23 MSK)
- Показать ответы
- Ссылка
Ответ на:
комментарий
от Tumyq 15.02.18 14:29:23 MSK
или просто, как для дедушки, сказать, в чем прикол, что там с чем завязано
Tumyq
(15.02.18 14:31:01 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от Tumyq 15.02.18 14:31:01 MSK
там английским языком сказано
в ваш файл проекта (это либо pro либо pri) добавить путь до ихнего файла qtxlsx.pri вот таким образом include(3rdparty/qtxlsx/src/xlsx/qtxlsx.pri) например, когда будете компилировать он скомпилирует и библиотеку и подключит. Приэтом это способ использования номер два
Silerus ★★★★
(15.02.18 14:34:17 MSK)
Последнее исправление: Silerus 15.02.18 14:35:21 MSK
(всего
исправлений: 1)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от Tumyq 15.02.18 14:29:23 MSK
Ответ на:
комментарий
от Tumyq 15.02.18 14:29:23 MSK
У меня Виндовс7.
на винфаке тогда нужно спрашивать зачем тебе cmd и cd.
Landgraf ★★★★★
(15.02.18 14:46:52 MSK)
- Ссылка
Ответ на:
комментарий
от Silerus 15.02.18 14:34:17 MSK
спасибо, сынок
хорошо. так и сделаю, спасибо. вернусь позже)
Tumyq
(15.02.18 14:55:24 MSK)
- Ссылка
Ответ на:
комментарий
от erfea 15.02.18 14:43:02 MSK
ниче не понаехали, вот закночу с этим делом, и за линухс возьмусь.
встроенный. одноплатник лежит
Tumyq
(15.02.18 14:56:28 MSK)
- Ссылка
Но ведь там Usage(2) это pri-файл. А это значит, достаточно в проекте твоем pro-файле прописать: include(path/to/qtxlsx.pri) и всё само соберется в рамках текущего проекта. Всё просто, и про include там четко и ясно написано. И даже пример есть:
#include "xlsxdocument.h"
int main()
{
QXlsx::Document xlsx;
xlsx.write("A1", "Hello Qt!");
xlsx.saveAs("Test.xlsx");
return 0;
}
Ты лучше напиши, что у тебя не получилось по этой инструкции, так же всё типично и стандартно.
- Показать ответ
- Ссылка
Ответ на:
комментарий
от I-Love-Microsoft 15.02.18 15:07:31 MSK
в общем, да. что-то второй способ не получается. Делаю по аналогии так в своем файле .pro:
include (D:Qt_workQt_projectsex_work_workterminalqtxlsxsrcxlsxqtxlsx.pri)
QT += widgets serialport printsupport xlsx
TARGET = terminal
TEMPLATE = app
SOURCES +=
main.cpp
mainwindow.cpp
settingsdialog.cpp
chart.cpp
qcustomplot.cpp
HEADERS +=
mainwindow.h
settingsdialog.h
chart.h
qcustomplot.h
FORMS +=
mainwindow.ui
settingsdialog.ui
RESOURCES +=
terminal.qrc
target.path = $$[QT_INSTALL_EXAMPLES]/serialport/terminal
INSTALLS += target
src закинул в свою папку, но он его не находит,
ошибка
Project ERROR: Unknown module(s) in QT: xlsx
Tumyq
(15.02.18 15:16:34 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от Tumyq 15.02.18 15:16:34 MSK
Ответ на:
комментарий
от Silerus 15.02.18 15:18:09 MSK
отлично, исправил — компильнулось
правда, грозится мне
Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point.
Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!
ладно, это не страшно. Мне интересно, что в первом случае надо было сделать, чтоб работало QT+=xlsx? Там надо было что-то через cmd собирать?
Tumyq
(15.02.18 15:26:41 MSK)
- Показать ответы
- Ссылка
Ответ на:
комментарий
от Tumyq 15.02.18 15:26:41 MSK
собрать библиотеку по первому способу, т.е скомпилировать и проинсталировать, но вот какой цирк с поняни это будет под виндой я даже незнаю, скорее всего надо будет проинсталировать туда где хранятся плагины qt
Silerus ★★★★
(15.02.18 15:32:25 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от Silerus 15.02.18 15:32:25 MSK
Ответ на:
комментарий
от Tumyq 15.02.18 15:26:41 MSK
Вот это QT += xlsx оно когда ты собрал библиотеку и положил в пути, а у нее есть зарегистрированный псевдоним, и добавляешь одним словом.
А второй способ — ты подключил pri файл, а это и всё что надо, при это библиотека соберется вместе со сборкой основного проекта.
- Ссылка
Ответ на:
комментарий
от Tumyq 15.02.18 15:39:32 MSK
Да, pri-файлы это очень вкусная возможность Qt, фактически готовые блоки проектов элементарно вкручиваешь в свои проекты. Быстро и просто.
- Показать ответ
- Ссылка
Ответ на:
комментарий
от I-Love-Microsoft 15.02.18 17:04:39 MSK
Спасибо за разъяснения, не в первый раз слышу о разных вкусностях Qt, отличная штукендренция.
Tumyq
(15.02.18 18:48:59 MSK)
- Ссылка
поставьте галочку проблема решена, дабы не будоражить общественность
Silerus ★★★★
(16.02.18 09:57:03 MSK)
- Ссылка
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
This topic has been deleted. Only users with topic management privileges can see it.
In a new ubuntu20.04, I have:
sudo apt-get install qt5-default
sudo apt-get install build-essential
parallels@ubuntu-linux-20-04-desktop:~$ sudo apt-get install qt5-default
[sudo] password for parallels:
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following NEW packages will be installed:
qt5-default
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 24.4 kB of archives.
After this operation, 170 kB of additional disk space will be used.
Get:1 https://mirrors.aliyun.com/ubuntu-ports focal-updates/universe arm64 qt5-default arm64 5.12.8+dfsg-0ubuntu2.1 [24.4 kB]
Fetched 24.4 kB in 5s (4,597 B/s)
Selecting previously unselected package qt5-default:arm64.
(Reading database … 224192 files and directories currently installed.)
Preparing to unpack …/qt5-default_5.12.8+dfsg-0ubuntu2.1_arm64.deb …
Unpacking qt5-default:arm64 (5.12.8+dfsg-0ubuntu2.1) …
Setting up qt5-default:arm64 (5.12.8+dfsg-0ubuntu2.1) …
but when I qmake ../ , the output is :
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$ qmake ../
Project MESSAGE: Qt version 5.12.8
Project MESSAGE: Linux build
/usr/bin/ccache
Project MESSAGE: Found ccache, enabling
Project MESSAGE: Daily Build
Project MESSAGE: QGroundControl v4.1.6
Project MESSAGE: Release flavor
Project MESSAGE: Using Default QtLocation headers
Project MESSAGE: Skipping support for Pairing
Project MESSAGE: Using MAVLink dialect ‘ardupilotmega’.
Project MESSAGE: Skipping support for Zeroconf (unsupported platform)
Project MESSAGE: Looking for Airmap in folder «/home/parallels/qgroundcontrol/libs/airmapd», variant: «Qt.5.12»
Project MESSAGE: Taisync disabled
Project MESSAGE: Microhard disabled
Project MESSAGE: Including support for video streaming
Project ERROR: Unknown module(s) in QT: location opengl positioning qml quick quickcontrols2 quickwidgets svg texttospeech multimedia serialport location-private positioning-private charts x11extras waylandclient
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$ qmake -v
QMake version 3.1
Using Qt version 5.12.8 in /usr/lib/aarch64-linux-gnu
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$
@mchmch qt5-default does not install all Qt plug-ins. You need to install missing modules also. For example for qtlocation: libqt5location5.
parallels@ubuntu-linux-20-04-desktop:~/Downloads/qgroundcontrol/build$ sudo apt-get install libqt5location5
Reading package lists… Done
Building dependency tree
Reading state information… Done
libqt5location5 is already the newest version (5.12.8+dfsg-0ubuntu1).
libqt5location5 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
parallels@ubuntu-linux-20-04-desktop:~/Downloads/qgroundcontrol/build$ qmake ../
Project MESSAGE: Qt version 5.12.8
Project MESSAGE: Linux build
Project MESSAGE: Daily Build
Project MESSAGE: QGroundControl Development HEAD:8e841773f 2020-12-02 10:07:12 -0800
Project MESSAGE: Release flavor
Project MESSAGE: Using Default QtLocation headers
Project MESSAGE: Skipping support for Pairing
Project MESSAGE: Using MAVLink dialect ‘ardupilotmega’.
Project MESSAGE: Skipping support for Zeroconf (unsupported platform)
Project MESSAGE: Looking for Airmap in folder «/home/parallels/Downloads/qgroundcontrol/libs/airmapd», variant: «Qt.5.12»
Project MESSAGE: Taisync disabled
Project MESSAGE: Microhard disabled
Project MESSAGE: Including support for video streaming
Project ERROR: Unknown module(s) in QT: location positioning quickcontrols2 svg texttospeech multimedia serialport location-private positioning-private charts x11extras waylandclient
@mchmch Delete the build folder and create it again to get rid of all build artefacts from previous build attempts.
I’am a new person about linux and qt. I restall a new ubuntu to do it again, but I don’t know why:
parallels@ubuntu-linux-20-04-desktop:~$ sudo gedit /etc/apt/sources.list
[sudo] password for parallels:
(gedit:3521): Tepl-WARNING **: 14:26:17.475: GVfs metadata is not supported. Fallback to TeplMetadataManager. Either GVfs is not correctly installed or GVfs metadata are not supported on this platform. In the latter case, you should configure Tepl with --disable-gvfs-metadata.
parallels@ubuntu-linux-20-04-desktop:~$ sudo apt-get update
Get:1 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports focal InRelease [265 kB]
Get:2 https://mirrors.ustc.edu.cn/ubuntu-ports focal InRelease [265 kB]
...
Get:227 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports focal-security/multiverse arm64 c-n-f Metadata [116 B]
Fetched 83.6 MB in 45s (1,866 kB/s)
Reading package lists... Done
parallels@ubuntu-linux-20-04-desktop:~$ sudo apt-get install git
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
git-man liberror-perl
Suggested packages:
git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn
The following NEW packages will be installed:
git git-man liberror-perl
0 upgraded, 3 newly installed, 0 to remove and 109 not upgraded.
Need to get 5,254 kB of archives.
After this operation, 37.6 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 https://mirrors.ustc.edu.cn/ubuntu-ports focal/main arm64 liberror-perl all 0.17029-1 [26.5 kB]
...
Selecting previously unselected package git.
Preparing to unpack .../git_1%3a2.25.1-1ubuntu3.2_arm64.deb ...
Unpacking git (1:2.25.1-1ubuntu3.2) ...
Setting up liberror-perl (0.17029-1) ...
Setting up git-man (1:2.25.1-1ubuntu3.2) ...
Setting up git (1:2.25.1-1ubuntu3.2) ...
Processing triggers for man-db (2.9.1-1) ...
parallels@ubuntu-linux-20-04-desktop:~$ sudo apt install qt5-default
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libdouble-conversion3 libegl-dev libegl1 libgl-dev libgl1 libgles2 libglu1-mesa-dev libglvnd0 libglx-dev libglx0 libpcre2-16-0
libpthread-stubs0-dev libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5 libqt5opengl5-dev
libqt5printsupport5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5test5 libqt5widgets5 libqt5xml5 libvulkan-dev libx11-dev
libxau-dev libxcb-xinerama0 libxcb-xinput0 libxcb1-dev libxdmcp-dev libxext-dev qt5-gtk-platformtheme qt5-qmake qt5-qmake-bin
qtbase5-dev qtbase5-dev-tools qtchooser qttranslations5-l10n x11proto-core-dev x11proto-dev x11proto-xext-dev xorg-sgml-doctools
xtrans-dev
Suggested packages:
qt5-image-formats-plugins qtwayland5 libx11-doc libxcb-doc libxext-doc default-libmysqlclient-dev firebird-dev libpq-dev
libsqlite3-dev unixodbc-dev
The following NEW packages will be installed:
libdouble-conversion3 libegl-dev libgl-dev libglu1-mesa-dev libglx-dev libpcre2-16-0 libpthread-stubs0-dev libqt5concurrent5
libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5 libqt5opengl5-dev libqt5printsupport5 libqt5sql5
libqt5sql5-sqlite libqt5svg5 libqt5test5 libqt5widgets5 libqt5xml5 libvulkan-dev libx11-dev libxau-dev libxcb-xinerama0
libxcb-xinput0 libxcb1-dev libxdmcp-dev libxext-dev qt5-default qt5-gtk-platformtheme qt5-qmake qt5-qmake-bin qtbase5-dev
qtbase5-dev-tools qtchooser qttranslations5-l10n x11proto-core-dev x11proto-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev
The following packages will be upgraded:
libegl1 libgl1 libgles2 libglvnd0 libglx0
5 upgraded, 42 newly installed, 0 to remove and 104 not upgraded.
Need to get 15.4 MB of archives.
After this operation, 83.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 https://mirrors.ustc.edu.cn/ubuntu-ports focal/universe arm64 libdouble-conversion3 arm64 3.1.5-4ubuntu1 [34.2 kB]
Get:2 https://mirrors.ustc.edu.cn/ubuntu-ports focal/main arm64 libpcre2-16-0 arm64 10.34-7 [156 kB]
...
Get:45 https://mirrors.ustc.edu.cn/ubuntu-ports focal-updates/universe arm64 qt5-default arm64 5.12.8+dfsg-0ubuntu2.1 [24.4 kB]
Get:46 https://mirrors.ustc.edu.cn/ubuntu-ports focal-updates/universe arm64 qt5-gtk-platformtheme arm64 5.12.8+dfsg-0ubuntu2.1 [118 kB]
Get:47 https://mirrors.ustc.edu.cn/ubuntu-ports focal/universe arm64 qttranslations5-l10n all 5.12.8-0ubuntu1 [1,486 kB]
Fetched 15.4 MB in 2s (9,266 kB/s)
Extracting templates from packages: 100%
Selecting previously unselected package libdouble-conversion3:arm64.
(Reading database ... 142293 files and directories currently installed.)
Preparing to unpack .../00-libdouble-conversion3_3.1.5-4ubuntu1_arm64.deb ...
Unpacking libdouble-conversion3:arm64 (3.1.5-4ubuntu1) ...
Selecting previously unselected package libpcre2-16-0:arm64.
Preparing to unpack .../01-libpcre2-16-0_10.34-7_arm64.deb ...
...
Preparing to unpack .../44-qt5-default_5.12.8+dfsg-0ubuntu2.1_arm64.deb ...
Unpacking qt5-default:arm64 (5.12.8+dfsg-0ubuntu2.1) ...
Selecting previously unselected package qt5-gtk-platformtheme:arm64.
Preparing to unpack .../45-qt5-gtk-platformtheme_5.12.8+dfsg-0ubuntu2.1_arm64.deb ...
Unpacking qt5-gtk-platformtheme:arm64 (5.12.8+dfsg-0ubuntu2.1) ...
Selecting previously unselected package qttranslations5-l10n.
Preparing to unpack .../46-qttranslations5-l10n_5.12.8-0ubuntu1_all.deb ...
Unpacking qttranslations5-l10n (5.12.8-0ubuntu1) ...
Setting up libdouble-conversion3:arm64 (3.1.5-4ubuntu1) ...
Setting up libvulkan-dev:arm64 (1.2.131.2-1) ...
Setting up libxcb-xinput0:arm64 (1.14-2) ...
...
Setting up qt5-default:arm64 (5.12.8+dfsg-0ubuntu2.1) ...
Setting up libqt5opengl5-dev:arm64 (5.12.8+dfsg-0ubuntu2.1) ...
parallels@ubuntu-linux-20-04-desktop:~$ cd qgroundcontrol/
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ git checkout Stable_V4.1
Branch 'Stable_V4.1' set up to track remote branch 'Stable_V4.1' from 'origin'.
Switched to a new branch 'Stable_V4.1'
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ git submodule update --init --recursive
Submodule 'libs/OpenSSL/android_openssl' (https://github.com/Auterion/android_openssl) registered for path 'libs/OpenSSL/android_openssl'
Submodule 'libs/mavlink/include/mavlink/v2.0' (https://github.com/mavlink/c_library_v2.git) registered for path 'libs/mavlink/include/mavlink/v2.0'
Submodule 'libs/qmlglsink/gst-plugins-good' (https://github.com/mavlink/gst-plugins-good.git) registered for path 'libs/qmlglsink/gst-plugins-good'
Submodule 'src/GPS/Drivers' (https://github.com/PX4/GpsDrivers.git) registered for path 'src/GPS/Drivers'
Submodule path 'libs/OpenSSL/android_openssl': checked out '3aaff1bd9e35047abdb363239bb3e3c114d07ea1'
Submodule path 'libs/mavlink/include/mavlink/v2.0': checked out '5637057af5ab8ec5667e3f8e5f8c73d3bc60eed8'
Submodule path 'libs/qmlglsink/gst-plugins-good': checked out '9d782fad9dc0384ba86ecae64511c193f6149f93'
Submodule path 'src/GPS/Drivers': checked out '5afc11588b2b6ec0861ecf9ef673c7a9e2109129'
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ mkdir build
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ cd build/
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$ qmake -v
QMake version 3.1
Using Qt version 5.12.8 in /usr/lib/aarch64-linux-gnu
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$ qmake ../
Info: creating stash file /home/parallels/qgroundcontrol/build/.qmake.stash
Project MESSAGE: Qt version 5.12.8
Project MESSAGE: Linux build
Project MESSAGE: Daily Build
Project MESSAGE: QGroundControl v4.1.6
Project MESSAGE: Release flavor
Project MESSAGE: Using Default QtLocation headers
Project MESSAGE: Skipping support for Pairing
Project MESSAGE: Using MAVLink dialect 'ardupilotmega'.
Project MESSAGE: Skipping support for Zeroconf (unsupported platform)
Project MESSAGE: Looking for Airmap in folder "/home/parallels/qgroundcontrol/libs/airmapd", variant: "Qt.5.12"
Project MESSAGE: Taisync disabled
Project MESSAGE: Microhard disabled
Project MESSAGE: Skipping support for video streaming (GStreamer libraries not installed)
Project MESSAGE: Installation instructions here: https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md
Project ERROR: sdl2 development package not found
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$ sudo apt-get install libsdl2-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libasound2-dev libblkid-dev libblkid1 libdbus-1-dev libegl1-mesa-dev libffi-dev libgl1-mesa-dev libgles-dev libgles1
libgles2-mesa-dev libglib2.0-dev libglib2.0-dev-bin libglvnd-dev libibus-1.0-dev libice-dev libmount-dev libmount1 libopengl-dev
libopengl0 libpcre16-3 libpcre2-dev libpcre2-posix2 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpulse-dev libsdl2-2.0-0
libselinux1-dev libsepol1-dev libsm-dev libsndio-dev libsndio7.0 libudev-dev libuuid1 libwayland-bin libwayland-dev
libxcursor-dev libxfixes-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxrender-dev libxss-dev libxss1
libxt-dev libxv-dev libxxf86vm-dev python3-distutils uuid-dev x11proto-input-dev x11proto-randr-dev x11proto-scrnsaver-dev
x11proto-xf86vidmode-dev x11proto-xinerama-dev
Suggested packages:
libasound2-doc libgirepository1.0-dev libglib2.0-doc libxml2-utils libice-doc libsm-doc sndiod libwayland-doc libxt-doc
The following NEW packages will be installed:
libasound2-dev libblkid-dev libdbus-1-dev libegl1-mesa-dev libffi-dev libgl1-mesa-dev libgles-dev libgles1 libgles2-mesa-dev
libglib2.0-dev libglib2.0-dev-bin libglvnd-dev libibus-1.0-dev libice-dev libmount-dev libopengl-dev libopengl0 libpcre16-3
libpcre2-dev libpcre2-posix2 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpulse-dev libsdl2-2.0-0 libsdl2-dev libselinux1-dev
libsepol1-dev libsm-dev libsndio-dev libsndio7.0 libudev-dev libwayland-bin libwayland-dev libxcursor-dev libxfixes-dev
libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxrender-dev libxss-dev libxss1 libxt-dev libxv-dev libxxf86vm-dev
python3-distutils uuid-dev x11proto-input-dev x11proto-randr-dev x11proto-scrnsaver-dev x11proto-xf86vidmode-dev
x11proto-xinerama-dev
The following packages will be upgraded:
libblkid1 libmount1 libuuid1
3 upgraded, 53 newly installed, 0 to remove and 101 not upgraded.
Need to get 6,969 kB of archives.
After this operation, 39.9 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 https://mirrors.ustc.edu.cn/ubuntu-ports focal-updates/main arm64 libblkid1 arm64 2.34-0.1ubuntu9.3 [129 kB]
Get:2 https://mirrors.ustc.edu.cn/ubuntu-ports focal-updates/main arm64 libmount1 arm64 2.34-0.1ubuntu9.3 [140 kB]
Get:3 https://mirrors.ustc.edu.cn/ubuntu-ports focal-updates/main arm64 libuuid1 arm64 2.34-0.1ubuntu9.3 [19.3 kB]
...
Get:55 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports focal-updates/main arm64 libgles2-mesa-dev arm64 21.2.6-0ubuntu0.1~20.04.2 [6,424 B]
Get:56 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports focal-updates/main arm64 libgl1-mesa-dev arm64 21.2.6-0ubuntu0.1~20.04.2 [6,420 B]
Fetched 6,969 kB in 3s (2,669 kB/s)
Extracting templates from packages: 100%
(Reading database ... 145848 files and directories currently installed.)
Preparing to unpack .../libblkid1_2.34-0.1ubuntu9.3_arm64.deb ...
Unpacking libblkid1:arm64 (2.34-0.1ubuntu9.3) over (2.34-0.1ubuntu9.1) ...
Setting up libblkid1:arm64 (2.34-0.1ubuntu9.3) ...
(Reading database ... 145848 files and directories currently installed.)
...
Unpacking x11proto-xf86vidmode-dev (2019.2-1ubuntu1) ...
Selecting previously unselected package libxxf86vm-dev:arm64.
Preparing to unpack .../51-libxxf86vm-dev_1%3a1.1.4-1build1_arm64.deb ...
Unpacking libxxf86vm-dev:arm64 (1:1.1.4-1build1) ...
Selecting previously unselected package libsdl2-dev:arm64.
Preparing to unpack .../52-libsdl2-dev_2.0.10+dfsg1-3_arm64.deb ...
Unpacking libsdl2-dev:arm64 (2.0.10+dfsg1-3) ...
Setting up python3-distutils (3.8.10-0ubuntu1~20.04) ...
Setting up libpcrecpp0v5:arm64 (2:8.39-12build1) ...
Setting up libglib2.0-dev-bin (2.64.6-1~ubuntu20.04.4) ...
Setting up libpcre16-3:arm64 (2:8.39-12build1) ...
Setting up libice-dev:arm64 (2:1.0.10-0ubuntu1) ...
Setting up libsm-dev:arm64 (2:1.2.3-1) ...
Setting up x11proto-randr-dev (2019.2-1ubuntu1) ...
...
Setting up libgles2-mesa-dev:arm64 (21.2.6-0ubuntu0.1~20.04.2) ...
Setting up libglib2.0-dev:arm64 (2.64.6-1~ubuntu20.04.4) ...
Processing triggers for libglib2.0-0:arm64 (2.64.6-1~ubuntu20.04.4) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
Processing triggers for man-db (2.9.1-1) ...
Setting up libpulse-dev:arm64 (1:13.99.1-1ubuntu3.13) ...
Processing triggers for sgml-base (1.29.1) ...
Processing triggers for install-info (6.7.0.dfsg.2-5) ...
Setting up libibus-1.0-dev:arm64 (1.5.22-2ubuntu2.1) ...
Setting up libsdl2-dev:arm64 (2.0.10+dfsg1-3) ...
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$ qmake ../
Project MESSAGE: Qt version 5.12.8
Project MESSAGE: Linux build
Project MESSAGE: Daily Build
Project MESSAGE: QGroundControl v4.1.6
Project MESSAGE: Release flavor
Project MESSAGE: Using Default QtLocation headers
Project MESSAGE: Skipping support for Pairing
Project MESSAGE: Using MAVLink dialect 'ardupilotmega'.
Project MESSAGE: Skipping support for Zeroconf (unsupported platform)
Project MESSAGE: Looking for Airmap in folder "/home/parallels/qgroundcontrol/libs/airmapd", variant: "Qt.5.12"
Project MESSAGE: Taisync disabled
Project MESSAGE: Microhard disabled
Project MESSAGE: Skipping support for video streaming (GStreamer libraries not installed)
Project MESSAGE: Installation instructions here: https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md
Project ERROR: Unknown module(s) in QT: location positioning qml quick quickcontrols2 quickwidgets svg texttospeech multimedia serialport location-private positioning-private charts x11extras waylandclient
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$ sudo apt-cache search libqt5lo
libqt5location5 - Qt Location module
libqt5location5-plugin-mapboxgl - Qt Location module - Mapbox GL plugin
libqt5location5-plugins - Qt Location module - geolocation plugins
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$ sudo apt-get install libqt5location5
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libqt5positioning5 libqt5positioningquick5 libqt5qml5 libqt5quick5
Suggested packages:
qt5-qmltooling-plugins
The following NEW packages will be installed:
libqt5location5 libqt5positioning5 libqt5positioningquick5 libqt5qml5 libqt5quick5
0 upgraded, 5 newly installed, 0 to remove and 101 not upgraded.
Need to get 3,344 kB of archives.
After this operation, 14.1 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 https://mirrors.ustc.edu.cn/ubuntu-ports focal/universe arm64 libqt5positioning5 arm64 5.12.8+dfsg-0ubuntu1 [177 kB]
Get:2 https://mirrors.ustc.edu.cn/ubuntu-ports focal/universe arm64 libqt5qml5 arm64 5.12.8-0ubuntu1 [1,340 kB]
Get:3 https://mirrors.ustc.edu.cn/ubuntu-ports focal/universe arm64 libqt5quick5 arm64 5.12.8-0ubuntu1 [1,227 kB]
Get:4 https://mirrors.ustc.edu.cn/ubuntu-ports focal/universe arm64 libqt5positioningquick5 arm64 5.12.8+dfsg-0ubuntu1 [23.3 kB]
Get:5 https://mirrors.ustc.edu.cn/ubuntu-ports focal/universe arm64 libqt5location5 arm64 5.12.8+dfsg-0ubuntu1 [577 kB]
Fetched 3,344 kB in 1s (5,604 kB/s)
Selecting previously unselected package libqt5positioning5:arm64.
(Reading database ... 148070 files and directories currently installed.)
Preparing to unpack .../libqt5positioning5_5.12.8+dfsg-0ubuntu1_arm64.deb ...
Unpacking libqt5positioning5:arm64 (5.12.8+dfsg-0ubuntu1) ...
Selecting previously unselected package libqt5qml5:arm64.
Preparing to unpack .../libqt5qml5_5.12.8-0ubuntu1_arm64.deb ...
Unpacking libqt5qml5:arm64 (5.12.8-0ubuntu1) ...
Selecting previously unselected package libqt5quick5:arm64.
Preparing to unpack .../libqt5quick5_5.12.8-0ubuntu1_arm64.deb ...
Unpacking libqt5quick5:arm64 (5.12.8-0ubuntu1) ...
Selecting previously unselected package libqt5positioningquick5:arm64.
Preparing to unpack .../libqt5positioningquick5_5.12.8+dfsg-0ubuntu1_arm64.deb ...
Unpacking libqt5positioningquick5:arm64 (5.12.8+dfsg-0ubuntu1) ...
Selecting previously unselected package libqt5location5:arm64.
Preparing to unpack .../libqt5location5_5.12.8+dfsg-0ubuntu1_arm64.deb ...
Unpacking libqt5location5:arm64 (5.12.8+dfsg-0ubuntu1) ...
Setting up libqt5positioning5:arm64 (5.12.8+dfsg-0ubuntu1) ...
Setting up libqt5qml5:arm64 (5.12.8-0ubuntu1) ...
Setting up libqt5quick5:arm64 (5.12.8-0ubuntu1) ...
Setting up libqt5positioningquick5:arm64 (5.12.8+dfsg-0ubuntu1) ...
Setting up libqt5location5:arm64 (5.12.8+dfsg-0ubuntu1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$ cd ..
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ rm -rf build
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-cache search libqt5po
libqt5positioning5 - Qt Positioning module
libqt5positioning5-plugins - Qt Positioning module - position plugins
libqt5positioningquick5 - Qt Positioning module - Qt Quick module
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-get install libqt5positioning5
Reading package lists... Done
Building dependency tree
Reading state information... Done
libqt5positioning5 is already the newest version (5.12.8+dfsg-0ubuntu1).
libqt5positioning5 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 101 not upgraded.
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-cache search libqt5qml
libqt5qml5 - Qt 5 QML module
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-get install libqt5qml5
Reading package lists... Done
Building dependency tree
Reading state information... Done
libqt5qml5 is already the newest version (5.12.8-0ubuntu1).
libqt5qml5 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 101 not upgraded.
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-cache search libqt5quickcontrols2
libqt5quickcontrols2-5 - Qt 5 Quick Controls 2 library
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-get install libqt5quickcontrols2-5
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libqt5quicktemplates2-5
The following NEW packages will be installed:
libqt5quickcontrols2-5 libqt5quicktemplates2-5
0 upgraded, 2 newly installed, 0 to remove and 101 not upgraded.
Need to get 376 kB of archives.
After this operation, 1,898 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 https://mirrors.ustc.edu.cn/ubuntu-ports focal/universe arm64 libqt5quicktemplates2-5 arm64 5.12.8+dfsg-0ubuntu1 [319 kB]
Get:2 https://mirrors.ustc.edu.cn/ubuntu-ports focal/universe arm64 libqt5quickcontrols2-5 arm64 5.12.8+dfsg-0ubuntu1 [56.2 kB]
Fetched 376 kB in 1s (271 kB/s)
Selecting previously unselected package libqt5quicktemplates2-5:arm64.
(Reading database ... 148106 files and directories currently installed.)
Preparing to unpack .../libqt5quicktemplates2-5_5.12.8+dfsg-0ubuntu1_arm64.deb ...
Unpacking libqt5quicktemplates2-5:arm64 (5.12.8+dfsg-0ubuntu1) ...
Selecting previously unselected package libqt5quickcontrols2-5:arm64.
Preparing to unpack .../libqt5quickcontrols2-5_5.12.8+dfsg-0ubuntu1_arm64.deb ...
Unpacking libqt5quickcontrols2-5:arm64 (5.12.8+dfsg-0ubuntu1) ...
Setting up libqt5quicktemplates2-5:arm64 (5.12.8+dfsg-0ubuntu1) ...
Setting up libqt5quickcontrols2-5:arm64 (5.12.8+dfsg-0ubuntu1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-cache search libqt5quickwidgets
libqt5quickwidgets5 - Qt 5 Quick Widgets library
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-get install libqt5quickwidgets5
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
libqt5quickwidgets5
0 upgraded, 1 newly installed, 0 to remove and 101 not upgraded.
Need to get 38.6 kB of archives.
After this operation, 172 kB of additional disk space will be used.
Get:1 https://mirrors.ustc.edu.cn/ubuntu-ports focal/universe arm64 libqt5quickwidgets5 arm64 5.12.8-0ubuntu1 [38.6 kB]
Fetched 38.6 kB in 1s (58.8 kB/s)
Selecting previously unselected package libqt5quickwidgets5:arm64.
(Reading database ... 148118 files and directories currently installed.)
Preparing to unpack .../libqt5quickwidgets5_5.12.8-0ubuntu1_arm64.deb ...
Unpacking libqt5quickwidgets5:arm64 (5.12.8-0ubuntu1) ...
Setting up libqt5quickwidgets5:arm64 (5.12.8-0ubuntu1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-cache search libqt5svg
libqt5svg5 - Qt 5 SVG module
libqt5svg5-dev - Qt 5 SVG module development files
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-get install libqt5svg5
Reading package lists... Done
Building dependency tree
Reading state information... Done
libqt5svg5 is already the newest version (5.12.8-0ubuntu1).
libqt5svg5 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 101 not upgraded.
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-cache search libqt5texttospeech
libqt5texttospeech5 - Speech library for Qt - libraries
libqt5texttospeech5-dev - Speech library for Qt - development files
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-get install libqt5texttospeech5
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
libqt5texttospeech5
0 upgraded, 1 newly installed, 0 to remove and 101 not upgraded.
Need to get 19.7 kB of archives.
After this operation, 75.8 kB of additional disk space will be used.
Get:1 https://mirrors.ustc.edu.cn/ubuntu-ports focal/universe arm64 libqt5texttospeech5 arm64 5.12.8-0ubuntu1 [19.7 kB]
Fetched 19.7 kB in 0s (41.6 kB/s)
Selecting previously unselected package libqt5texttospeech5:arm64.
(Reading database ... 148125 files and directories currently installed.)
Preparing to unpack .../libqt5texttospeech5_5.12.8-0ubuntu1_arm64.deb ...
Unpacking libqt5texttospeech5:arm64 (5.12.8-0ubuntu1) ...
Setting up libqt5texttospeech5:arm64 (5.12.8-0ubuntu1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-cache search libqt5multimedia
libqt5multimedia5 - Qt 5 Multimedia module
libqt5multimedia5-plugins - Qt 5 Multimedia module plugins
libqt5multimediagsttools5 - GStreamer tools for Qt 5 Multimedia module
libqt5multimediaquick5 - Qt 5 Multimedia Quick module
libqt5multimediawidgets5 - Qt 5 Multimedia Widgets module
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-get install libqt5multimedia5
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
libqt5multimedia5
0 upgraded, 1 newly installed, 0 to remove and 101 not upgraded.
Need to get 263 kB of archives.
After this operation, 1,277 kB of additional disk space will be used.
Get:1 https://mirrors.ustc.edu.cn/ubuntu-ports focal/universe arm64 libqt5multimedia5 arm64 5.12.8-0ubuntu1 [263 kB]
Fetched 263 kB in 1s (426 kB/s)
Selecting previously unselected package libqt5multimedia5:arm64.
(Reading database ... 148131 files and directories currently installed.)
Preparing to unpack .../libqt5multimedia5_5.12.8-0ubuntu1_arm64.deb ...
Unpacking libqt5multimedia5:arm64 (5.12.8-0ubuntu1) ...
Setting up libqt5multimedia5:arm64 (5.12.8-0ubuntu1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-cache search libqt5serialport
libqt5serialport5 - Qt 5 serial port support
libqt5serialport5-dev - Qt 5 serial port development files
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-get install libqt5serialport5
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
libqt5serialport5
0 upgraded, 1 newly installed, 0 to remove and 101 not upgraded.
Need to get 31.3 kB of archives.
After this operation, 132 kB of additional disk space will be used.
Get:1 https://mirrors.ustc.edu.cn/ubuntu-ports focal/universe arm64 libqt5serialport5 arm64 5.12.8-0ubuntu1 [31.3 kB]
Fetched 31.3 kB in 0s (90.3 kB/s)
Selecting previously unselected package libqt5serialport5:arm64.
(Reading database ... 148137 files and directories currently installed.)
Preparing to unpack .../libqt5serialport5_5.12.8-0ubuntu1_arm64.deb ...
Unpacking libqt5serialport5:arm64 (5.12.8-0ubuntu1) ...
Setting up libqt5serialport5:arm64 (5.12.8-0ubuntu1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-cache search libqt5location-private
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ sudo apt-get install libqt5charts5
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
libqt5charts5
0 upgraded, 1 newly installed, 0 to remove and 101 not upgraded.
Need to get 405 kB of archives.
After this operation, 2,081 kB of additional disk space will be used.
Get:1 https://mirrors.ustc.edu.cn/ubuntu-ports focal/universe arm64 libqt5charts5 arm64 5.12.8-0ubuntu1 [405 kB]
Fetched 405 kB in 0s (914 kB/s)
Selecting previously unselected package libqt5charts5:arm64.
(Reading database ... 148143 files and directories currently installed.)
Preparing to unpack .../libqt5charts5_5.12.8-0ubuntu1_arm64.deb ...
Unpacking libqt5charts5:arm64 (5.12.8-0ubuntu1) ...
Setting up libqt5charts5:arm64 (5.12.8-0ubuntu1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ mkdir build
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol$ cd build/
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$ qmake ../
Info: creating stash file /home/parallels/qgroundcontrol/build/.qmake.stash
Project MESSAGE: Qt version 5.12.8
Project MESSAGE: Linux build
Project MESSAGE: Daily Build
Project MESSAGE: QGroundControl v4.1.6
Project MESSAGE: Release flavor
Project MESSAGE: Using Default QtLocation headers
Project MESSAGE: Skipping support for Pairing
Project MESSAGE: Using MAVLink dialect 'ardupilotmega'.
Project MESSAGE: Skipping support for Zeroconf (unsupported platform)
Project MESSAGE: Looking for Airmap in folder "/home/parallels/qgroundcontrol/libs/airmapd", variant: "Qt.5.12"
Project MESSAGE: Taisync disabled
Project MESSAGE: Microhard disabled
Project MESSAGE: Skipping support for video streaming (GStreamer libraries not installed)
Project MESSAGE: Installation instructions here: https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md
Project ERROR: Unknown module(s) in QT: location positioning qml quick quickcontrols2 quickwidgets svg texttospeech multimedia serialport location-private positioning-private charts x11extras waylandclient
@mchmch You also need to install the devel packages. For location it is: qtlocation5-dev
Don’t forget to do the same for other missing Qt modules!
@jsulm Most are solved by «sudo apt-cache search XXX» to find the package names, then «sudo apt-get install XXX» to install them. But location-private and positioning-private are never found.
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$ qmake ../
Project MESSAGE: Qt version 5.12.8
Project MESSAGE: Linux build
Project MESSAGE: Daily Build
Project MESSAGE: QGroundControl v4.1.6
Project MESSAGE: Release flavor
Project MESSAGE: Using Default QtLocation headers
Project MESSAGE: Skipping support for Pairing
Project MESSAGE: Using MAVLink dialect 'ardupilotmega'.
Project MESSAGE: Skipping support for Zeroconf (unsupported platform)
Project MESSAGE: Looking for Airmap in folder "/home/parallels/qgroundcontrol/libs/airmapd", variant: "Qt.5.12"
Project MESSAGE: Taisync disabled
Project MESSAGE: Microhard disabled
Project MESSAGE: Skipping support for video streaming (GStreamer libraries not installed)
Project MESSAGE: Installation instructions here: https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md
Project ERROR: Unknown module(s) in QT: location-private positioning-private
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$ sudo apt-cache search location-private
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$
@mchmch Does it help to install qtbase5-private-dev ?
@jsulm said in Project ERROR: Unknown module(s) in QT::
qtbase5-private-dev
It doesn’t seem to solve the problem.
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$ sudo apt-get install qtbase5-private-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
gir1.2-gudev-1.0 libevdev-dev libgudev-1.0-dev libinput-dev libmtdev-dev libwacom-dev
Suggested packages:
libevdev-doc
The following NEW packages will be installed:
gir1.2-gudev-1.0 libevdev-dev libgudev-1.0-dev libinput-dev libmtdev-dev libwacom-dev qtbase5-private-dev
0 upgraded, 7 newly installed, 0 to remove and 101 not upgraded.
Need to get 1,314 kB of archives.
After this operation, 11.6 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 https://mirrors.ustc.edu.cn/ubuntu-ports focal/main arm64 gir1.2-gudev-1.0 arm64 1:233-1 [3,824 B]
Get:2 https://mirrors.ustc.edu.cn/ubuntu-ports focal/main arm64 libgudev-1.0-dev arm64 1:233-1 [25.8 kB]
Get:3 https://mirrors.ustc.edu.cn/ubuntu-ports focal/main arm64 libmtdev-dev arm64 1.1.5-1.1 [5,192 B]
Get:4 https://mirrors.ustc.edu.cn/ubuntu-ports focal-updates/main arm64 libwacom-dev arm64 1.3-2ubuntu3 [6,968 B]
Get:5 https://mirrors.ustc.edu.cn/ubuntu-ports focal-updates/main arm64 libevdev-dev arm64 1.9.0+dfsg-1ubuntu0.1 [47.9 kB]
Get:6 https://mirrors.ustc.edu.cn/ubuntu-ports focal-updates/main arm64 libinput-dev arm64 1.15.5-1ubuntu0.2 [29.7 kB]
Get:7 https://mirrors.ustc.edu.cn/ubuntu-ports focal-updates/universe arm64 qtbase5-private-dev arm64 5.12.8+dfsg-0ubuntu2.1 [1,195 kB]
Fetched 1,314 kB in 7s (184 kB/s)
Selecting previously unselected package gir1.2-gudev-1.0:arm64.
(Reading database ... 149228 files and directories currently installed.)
Preparing to unpack .../0-gir1.2-gudev-1.0_1%3a233-1_arm64.deb ...
Unpacking gir1.2-gudev-1.0:arm64 (1:233-1) ...
Selecting previously unselected package libgudev-1.0-dev:arm64.
Preparing to unpack .../1-libgudev-1.0-dev_1%3a233-1_arm64.deb ...
Unpacking libgudev-1.0-dev:arm64 (1:233-1) ...
Selecting previously unselected package libmtdev-dev:arm64.
Preparing to unpack .../2-libmtdev-dev_1.1.5-1.1_arm64.deb ...
Unpacking libmtdev-dev:arm64 (1.1.5-1.1) ...
Selecting previously unselected package libwacom-dev:arm64.
Preparing to unpack .../3-libwacom-dev_1.3-2ubuntu3_arm64.deb ...
Unpacking libwacom-dev:arm64 (1.3-2ubuntu3) ...
Selecting previously unselected package libevdev-dev:arm64.
Preparing to unpack .../4-libevdev-dev_1.9.0+dfsg-1ubuntu0.1_arm64.deb ...
Unpacking libevdev-dev:arm64 (1.9.0+dfsg-1ubuntu0.1) ...
Selecting previously unselected package libinput-dev:arm64.
Preparing to unpack .../5-libinput-dev_1.15.5-1ubuntu0.2_arm64.deb ...
Unpacking libinput-dev:arm64 (1.15.5-1ubuntu0.2) ...
Selecting previously unselected package qtbase5-private-dev:arm64.
Preparing to unpack .../6-qtbase5-private-dev_5.12.8+dfsg-0ubuntu2.1_arm64.deb ...
Unpacking qtbase5-private-dev:arm64 (5.12.8+dfsg-0ubuntu2.1) ...
Setting up libevdev-dev:arm64 (1.9.0+dfsg-1ubuntu0.1) ...
Setting up libmtdev-dev:arm64 (1.1.5-1.1) ...
Setting up gir1.2-gudev-1.0:arm64 (1:233-1) ...
Setting up libgudev-1.0-dev:arm64 (1:233-1) ...
Setting up libwacom-dev:arm64 (1.3-2ubuntu3) ...
Setting up libinput-dev:arm64 (1.15.5-1ubuntu0.2) ...
Setting up qtbase5-private-dev:arm64 (5.12.8+dfsg-0ubuntu2.1) ...
Processing triggers for man-db (2.9.1-1) ...
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$ qmake ../
Project MESSAGE: Qt version 5.12.8
Project MESSAGE: Linux build
Project MESSAGE: Daily Build
Project MESSAGE: QGroundControl v4.1.6
Project MESSAGE: Release flavor
Project MESSAGE: Using Default QtLocation headers
Project MESSAGE: Skipping support for Pairing
Project MESSAGE: Using MAVLink dialect 'ardupilotmega'.
Project MESSAGE: Skipping support for Zeroconf (unsupported platform)
Project MESSAGE: Looking for Airmap in folder "/home/parallels/qgroundcontrol/libs/airmapd", variant: "Qt.5.12"
Project MESSAGE: Taisync disabled
Project MESSAGE: Microhard disabled
Project MESSAGE: Skipping support for video streaming (GStreamer libraries not installed)
Project MESSAGE: Installation instructions here: https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md
Project ERROR: Unknown module(s) in QT: location-private positioning-private
parallels@ubuntu-linux-20-04-desktop:~/qgroundcontrol/build$
I need to compile QGC on Ubuntu with arm architecture. I installed Ubuntu20.04.02 ARM64 with parallel desktop17 on a MacBook pro with m1 pro CPU, and cloned the QGC repository . For the latest version of QGC, I need to install Qt5.15.2. But I’m a new person on Qt and I don’t know how to install Qt5.15.2 on my machine. So I switched to an older version of QGC to compile, which only required Qt5.11+. So there is this topic. I hope to get your help. The ultimate goal is to install a specific version of Qt on my machine. I find it difficult to install Qt on a machine with arm architecture. Do you have any suggestions?
@mchmch Sorry, I do not know how to get these private modules from Ubuntu.
You get them if you install Qt using official Qt Online Installer.
I try to build Qt5.15.2 by source code, but everything is OK until “sudo make install»
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile:85: ../../../../plugins/imageformats/libqwebp.so] Error 1
make[5]: Leaving directory '/home/parallels/qt5/qtimageformats/src/plugins/imageformats/webp'
make[4]: *** [Makefile:138: sub-webp-install_subtargets] Error 2
make[4]: Leaving directory '/home/parallels/qt5/qtimageformats/src/plugins/imageformats'
make[3]: *** [Makefile:59: sub-imageformats-install_subtargets] Error 2
make[3]: Leaving directory '/home/parallels/qt5/qtimageformats/src/plugins'
make[2]: *** [Makefile:85: sub-plugins-install_subtargets] Error 2
make[2]: Leaving directory '/home/parallels/qt5/qtimageformats/src'
make[1]: *** [Makefile:60: sub-src-install_subtargets] Error 2
make[1]: Leaving directory '/home/parallels/qt5/qtimageformats'
make: *** [Makefile:282: module-qtimageformats-install_subtargets] Error 2
@mchmch Why do you want to build Qt by yourself instead of downloading the online installer and installing the version you need?
@jsulm online installer ? it didn’t work, I don’t know why.
now I can build the qt5 on my computer, but I don’t know how to use it if I don’t install it. Building_Qt_5_from_Git
@mchmch said in Project ERROR: Unknown module(s) in QT::
it didn’t work, I don’t know why
What happened?
Building Qt isn’t trivial. You should really try to install using the online or offline installer.
«now I can build the qt5 on my computer» — like described in the link you posted. What exactly is the problem?
@jsulm I can’t open the .run file, I am sure that everything is under the guiden. I think the problem is that the cpu architecture is different.
This post is deleted!
@mchmch OK, I see now that you’re on ARM.
In this case you have to build Qt by yourself.
Then please provide more information: which step from the build explanation does not work?
neosapient1
Новичок Offline Сообщений: 10
|
Здравствуйте. Хочу поработать с модулем построения графиков Qt Charts. Создаю новый проект. QT += charts core gui то получаю ошибку Project ERROR: Unknown module(s) in QT: charts Как заставить увидеть Qt Charts? Спасибо. |
||
|
kambala |
может она установилась под какую-то конкретную версию Qt? у тебя их вон 3. |
||
Изучением C++ вымощена дорога в Qt. UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher |
neosapient1
Новичок Offline Сообщений: 10
|
Галки выставлены так, как указано на прикрепленной картинке. |
||
|
kambala |
речь не о галках, там особо нечем управлять. поищи в каких из папок появился модуль. если лишь в одной — тогда проблема ясна. |
||
Изучением C++ вымощена дорога в Qt. UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher |
neosapient1
Новичок Offline Сообщений: 10
|
Я не знаю, как этот модуль должен выглядеть. Смотрел в папке C:Qt5.15.2msvc2015_64bin (и ей подобным ‘msvc2019’ и ‘msvc2019_64’). Там нет библиотек вида Qt5Cahrts.dll (или что там должно быть?) P.S. |
||
|
neosapient1
Новичок Offline Сообщений: 10
|
В итоге поборол сборку файлов Qt5Charts.dll и Qt5Chartsd.dll из исходников. P.S. |
||
|
PimenS
Крякер Сообщений: 363
|
Галки выставлены так, как указано на прикрепленной картинке. Просто нужно было галку Qt Charts выставлять в той ветке для которой уже установлены пакеты. |
||
|
neosapient1
Новичок Offline Сообщений: 10
|
Просто нужно было галку Qt Charts выставлять в той ветке для которой уже установлены пакеты. Ох, проглядел. Есть такая галка. |
||
|
dbzhang800 / qtxlsxwriter
Goto Github
PK
View Code? Open in Web Editor
NEW
1.0K
603.0
1.96 MB
.xlsx file reader and writer for Qt5
Home Page: http://qtxlsx.debao.me
License: Other
QMake 0.82%
C++ 99.16%
Prolog 0.01%
CMake 0.02%
qtxlsxwriter’s Introduction
Documentation: http://qtxlsx.debao.me
QtXlsx is a library that can read and write Excel files. It doesn’t require Microsoft Excel and can be used in any platform that Qt5 supported.
The library can be used to
- Generate a new .xlsx file from scratch
- Extract data from an existing .xlsx file
- Edit an existing .xlsx file
Getting Started
- For linux user, if your Qt is installed through package manager tools such «apt-get», make sure that you have installed the Qt5 develop package qtbase5-private-dev
Usage(1): Use Xlsx as Qt5’s addon module
Building the module
Note: Perl is needed in this step.
-
Download the source code.
-
Put the source code in any directory you like
-
Go to top directory of the project in a terminal and run
The library, the header files, and others will be installed to your system.
make html_docs
can be used to generate documentations of the library, andmake check
can be used to run unit tests of the library.
Using the module
- Add following line to your qmake’s project file:
- Then, using Qt Xlsx in your code
#include <QtXlsx> int main() { QXlsx::Document xlsx; xlsx.write("A1", "Hello Qt!"); xlsx.saveAs("Test.xlsx"); return 0; }
Usage(2): Use source code directly
The package contains a qtxlsx.pri file that allows you to integrate the component into applications that use qmake for the build step.
-
Download the source code.
-
Put the source code in any directory you like. For example, 3rdparty:
|-- project.pro
|-- ....
|-- 3rdparty
| |-- qtxlsx
| |
- Add following line to your qmake project file:
include(3rdparty/qtxlsx/src/xlsx/qtxlsx.pri)
Note: If you like, you can copy all files from src/xlsx to your application’s source path. Then add following line to your project file:
> **Note**: If you do not use qmake, you need to define the following macro manually
> ```
XLSX_NO_LIB
- Then, using Qt Xlsx in your code
#include "xlsxdocument.h" int main() { QXlsx::Document xlsx; xlsx.write("A1", "Hello Qt!"); xlsx.saveAs("Test.xlsx"); return 0; }
References
- http://www.ecma-international.org/publications/standards/Ecma-376.htm
- http://www.iso.org/iso/catalogue_detail?csnumber=51463
- http://msdn.microsoft.com/en-us/library/ee908652%28v=office.12%29.aspx
- http://www.datypic.com/sc/ooxml/
General
- https://github.com/jmcnamara/XlsxWriter
- http://openpyxl.readthedocs.org
- http://officeopenxml.com/anatomyofOOXML-xlsx.php
- http://www.libxl.com
- http://closedxml.codeplex.com/
- http://epplus.codeplex.com/
- http://excelpackage.codeplex.com/
- http://spreadsheetlight.com/
Number formats
- http://msdn.microsoft.com/en-us/library/ff529356%28v=office.12%29.aspx
- http://www.ozgrid.com/Excel/excel-custom-number-formats.htm
- http://stackoverflow.com/questions/894805/excel-number-format-what-is-409
- http://office.microsoft.com/en-001/excel-help/create-a-custom-number-format-HP010342372.aspx
Formula
- http://msdn.microsoft.com/en-us/library/ff533995%28v=office.12%29.aspx
- http://msdn.microsoft.com/en-us/library/dd906358%28v=office.12%29.aspx
- http://homepages.ecs.vuw.ac.nz/~elvis/db/Excel.shtml
- http://ewbi.blogs.com/develops/2004/12/excel_formula_p.html
qtxlsxwriter’s People
qtxlsxwriter’s Issues
Problem with big size file.
-
Maybe you didn’t test reading&writing with very big xlsx file. For example, a xlsx file contains 20 sheets and, every sheet contains 2000 rows and 200 columns; every cell has different data. Some problems will occur when your dll handles with this big size xlsx file.
When Office open the big size xlsx file created by QtXlsxWriter, it will report a reading error.Here is the code to create the big size xlsx file:QXlsx::Document xlsx;
QString sheetName=»200″;
QString cellString;
xlsx.addSheet(sheetName);
for (int i=0;i<2000;i++)
for (int j=0;j<200;++j)
{
cellString.sprintf(«%d:%d»,i,j);
xlsx.write(i,j,cellString);
}
xlsx.saveAs(«Book1.xlsx»);
Then open Book1.xlsx via office 2007, a problem comes. Maybe you can let it a try.
2. It needs very big memory when handle with very big size xlsx file. I do not know the xlsx file format actually; perhaps we cannot operate xlsx just like handling with file based stream.
Qt 5.2.1 warnings
When compiling with Qt 5.2.1, these warnings appear :
warning: ‘rowOffset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
warning: ‘row’ may be used uninitialized in this function [-Wmaybe-uninitialized]
warning: ‘colOffset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
warning: ‘col’ may be used uninitialized in this function [-Wmaybe-uninitialized]
xlsxxlsxdrawinganchor.cpp:132:30: note: ‘rowOffset’ was declared here
xlsxxlsxdrawinganchor.cpp:132:25: note: ‘row’ was declared here
xlsxxlsxdrawinganchor.cpp:132:14: note: ‘colOffset’ was declared here
xlsxxlsxdrawinganchor.cpp:132:9: note: ‘col’ was declared here
XlsxMarker DrawingAnchor::loadXmlMarker(QXmlStreamReader &reader, const QString &node)
{
Q_ASSERT(reader.name() == node);
// Need initialization
=> int col, colOffset, row, rowOffset;
while (!reader.atEnd()) {
reader.readNextStartElement();
if (reader.tokenType() == QXmlStreamReader::StartElement) {
if (reader.name() == QLatin1String(«col»)) {
col = reader.readElementText().toInt();
} else if (reader.name() == QLatin1String(«colOff»)) {
colOffset = reader.readElementText().toInt();
} else if (reader.name() == QLatin1String(«row»)) {
row = reader.readElementText().toInt();
} else if (reader.name() == QLatin1String(«rowOff»)) {
rowOffset = reader.readElementText().toInt();
}
} else if (reader.tokenType() == QXmlStreamReader::EndElement
&& reader.name() == node) {
break;
}
}
return XlsxMarker(row, col, rowOffset, colOffset);
}
Error read CellXfs
Hello,
I got zip version of QtXlsxWriter and tried to test it on a simple example (open a file and read a cell). But, the Xlsx::Document constructor gives the error above on an existing xlsx document (not created throught your library).
Followed by lines like that :
«Invalid style index: » 246
What i am wrong ?
Thanks in advance.
Bug?
Hi, i’ve started to use your libraries just today, so excuse me if i missed something in the documentation. Very useful by the way since i couldnt find any libraries that can be integrated with Qt that easily and work as good as yours.
I’m having trouble setting document properties. Here is part of my code where i use them:
xlsx.setDocumentProperty(«title»,»/Los Borrachos/«);
xlsx.setDocumentProperty(«company»,»La 12″);
but sadly when i look in the summary tab, of the created file properties they are not set.
Next thing is that when the writing fails because garbage chars are passed as parameter all the writings after that fail (no text setted, but the formatting of the cell is done)
Finally, just a comment, you dont contemplate the fact that the user can try to write a date without the time (if im correct you only contemplate datetime and time)
Great coding, very neat. Thank you very much for sharing!
Rows and Columns No. should starts from 1 instead of 0
- Inside the .xlsx file, 1 instead of 0 is used.
- write(«A1») ==> write(1, 1) is better than write(0, 0)
how to add image to worksheet?
Hi, thanks for sharing this nice code(even beautiful looking)
After fork, I’m trying to figure out how to add image to worksheet.
Your code taugh me much about the xls code.(spec document is hard to understand for me).
After I uncompress xlsx file int raw dir/files, I found that there is
xl/media
folder containing the image files that I inserted into worksheet, but cannot figure out how to reference them in xml file. Any hint or support for this function?
Master branch, reading problem
Hello!
I have some questions about master branch.
int main(int argc, char *argv[]) { QXlsx::Document xlsx("Test.xlsx"); // Looped here xlsx.write("A1", "TEST"); xlsx.save(); return 0; }
This simple program looped when reading document, at function:
QXlsx::Styles::readFont(QXmlStreamReader&, QXlsx::Format&) xlsxstyles.cpp 767
I used this stuff for compile:
Qt 5.1.1
clang x64
Mac OSX
When I checkout to tag v0.2, sample began to work.
Please fix this problem in master branch or edit building instruction. (add command after clone: git checkout v0.2 )
Sorry for my bad English.
Use source code directly mast «make install» first?
I followed he document «Usage(2): Use source code directly», but the code below has compile error. The qt creator cannot find file «xlsxdocument.h».
#include «xlsxdocument.h»
int main()
{
QXlsx::Document xlsx;
xlsx.write(«A1», «Hello Qt!»);
xlsx.saveAs(«Test.xlsx»);
return 0;
}
unable to build QtXlsx examples using Qt creator
Error: Unknown module(s) in QT: xlsx
I have copy pasted qmake config file in pro file. Still it shows the above error
Method QXlsx::Worksheet::setColumn is 1-based index instead of 0-based index.
If you try to use this code sheet->setColumn(0,1,20);
, then Excel (2011 — MacOS 10.8.4) open a dialog box mentioning that the XLSX file is corrupted. Using the code sheet->setColumn(1,2,20);
solved the problem.
However, compared to other method like QXlsx::Worksheet::write
(which is 0-based index), the index for the rows and the columns must start from 1 with the method QXlsx::Worksheet::setColumn
. It may be the expected behaviour, but this should be mentioned in the documentation of the method.
INT32_MAX was not declared fault as well as INT32_MIN
mingw32 v3.82.9 ( gcc 4.8.0)
I found INT32_MAX should be included in stdint.h, but my stdin.h content is like below, there is no INT32_MAX word related. this definition is compiler depended, not a stable using.
#ifndef _GCC_WRAP_STDINT_H #if __STDC_HOSTED__ # if defined __cplusplus && __cplusplus >= 201103L # undef __STDC_LIMIT_MACROS # define __STDC_LIMIT_MACROS # undef __STDC_CONSTANT_MACROS # define __STDC_CONSTANT_MACROS # endif # include_next <stdint.h> #else # include "stdint-gcc.h" #endif #define _GCC_WRAP_STDINT_H #endif
Thread safety support
Looks like xlsx doesn’t support using of the library in multithreading environment.
As I see in some places you use local static QMap as cache for something values, but if you will run some creation of xlsx files in parallel then it may cause to crash.
Is it possible to read the color of the cell?
Hello,
I have a question, is it possible to read the cell color (Background color)? If so, how it can be achieved?
Cell count() functions.
I noticed that the API allocates a column and row array for worksheets under the value cellTable; but I haven’t figured out how to access these numbers.
Question:
Can we see more of the count() function to access either the column or row count, and possibly a maximum range that the worksheet covers(e.g. largest column count and largest row count)?
Use Case:
Instead of iterating though each column and row to look for 0x0 entries; use the data that exist to make the program faster.
Example of desired code:
class level:
int countRowsAt(int columnNumber);
usage:
qDebug() << xlsx->countRowsAt(0);
or
class level:
int countColumnsAt(int columnNumber);
int countColumnsAt(QString columnNumber);
usage:
qDebug() << xlsx->countColumnsAt(0);
qDebug() << xlsx->countColumnsAt("A");
or (Preferred)
class level:
int countRows();
int countColumns();
usage:
qDebug() << xlsx->countRows();
qDebug() << xlsx->countColumns();
Can’t compile QtXlsxWriter with QT 5.0.2
I’m using QT 5.0.2 but QtXLsxWriter fails to compile because QT isn’t supporting QZipWriter. So it cant find «private/qzipwriter_p.h»
Any hints?
~/proj/QtXlsxWriter$ qmake -v
QMake version 3.0
Using Qt version 5.0.2 in /usr/lib/x86_64-linux-gnu
error at make step:
$ g++ -c -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -O2 -std=c++0x -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQ_USE_APPMENU -DQT_BUILD_XLSX_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt5/mkspecs/linux-g++-64 -I. -I../../include -I../../include/QtXlsx -I../../include/QtXlsx/0.1.0 -I../../include/QtXlsx/0.1.0/QtXlsx -I. -I/usr/include/qt5 -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtGui/5.0.2 -I/usr/include/qt5/QtGui/5.0.2/QtGui -I/usr/include/qt5/QtCore -I.moc/release-shared -o .obj/release-shared/xlsxzipwriter.o xlsxzipwriter.cpp
xlsxzipwriter.cpp:27:34: fatal error: private/qzipwriter_p.h: No such file or directory
#include <private/qzipwriter_p.h>
^
Project ERROR: Missing CMake tests
after upgrading Qt from 5.3.1 to 5.3.2, i tried to build and install QtXlsxWriter, which failed while building:
qmake -> okay
nmake -> failed with «Project ERROR: Missing CMake tests»
this problem was resolved by inserting
CMAKE_MODULE_TESTS = ‘-‘
as the first line of «.qmake.conf» file.
now i can build & install QtXlsxWriter as follows:
qmake -> okay
nmake -> okay
nmake install -> okay
there must have been some change in Qt’s build system (which probably introduced CMAKE into the system i guess), somewhere between 5.3.1 and 5.3.2.
so i post this as a note for all QtXlsxWriter users.
(thanks for your fabulous work dbzhang800, by the way.)
Problem with big size file.
-
Maybe you didn’t test reading&writing with very big xlsx file. For example, a xlsx file contains 20 sheets and, every sheet contains 2000 rows and 200 columns; every cell has different data. Some problems will occur when your dll handles with this big size xlsx file.
When Office open the big size xlsx file created by QtXlsxWriter, it will report a reading error.Here is the code to create the big size xlsx file:QXlsx::Document xlsx;
QString sheetName=»200″;
QString cellString;
xlsx.addSheet(sheetName);
for (int i=0;i<2000;i++)
for (int j=0;j<200;++j)
{
cellString.sprintf(«%d:%d»,i,j);
xlsx.write(i,j,cellString);
}
xlsx.saveAs(«Book1.xlsx»);
Then open Book1.xlsx via office 2007, a problem comes. Maybe you can let it a try.
2. It needs very big memory when handle with very big size xlsx file. I do not know the xlsx file format actually; perhaps we cannot operate xlsx just like handling with file based stream.
Error in worksheet name
When using AddWorksheet function, there is no control in worksheet name. So, when the xlsx file is opened in Excel, an error occurs.
Could you add these checks :
- worksheet name doesn’t contain / ? * [ or ](for instance delete those characters in worksheet name if exist)
- worksheet name length > 1 and <= 31
The example «worksheetoperations» crash.
Just build and run the «worksheetoperations», then it crash.
My Qt version is 5.2.1.
Below is the output:
Starting D:build-qtxlsx-Desktop-Debugexamplesxlsxworksheetoperationsdebugworksheetoperations.exe…
ASSERT failure in QList::operator[]: «index out of range», file c:qt5.2.1qtbaseincludeqtcore../../src/corelib/tools/qlist.h, line 480
QtXlsxWriter can’t compiled by QT5.2.1?
I tried to build by Qt 5.2.1,no errors and all passed.
then I entered into the Debug/Release directory that built, and use terminal to «make install», and also seems no errors, but when I tried to include it, I only can include QtXlsxDepends. then I tried to use source directly, include xlsx/xlsxdoucment.h,but there is a error «QtXlsx file not found», anyone could tell me why this happened?
thanks in advanced!
QXlsx::Document::copySheet() destination sheet column widths?
Hey,
This is a really cool library, i’m using it for all my xlsx related stuff
and has a very good feature set but i have one question though;
When i use QXlsx::Document::copySheet()
i get a copy of the sheet
but the column widths are all messed up on the destination sheet.
I guess the column width property is not copied..?
comment of a cell
Hi,
is there a way to read/write the comment of a cell?
How to read/write next row or column?
Hello,
how can I read the next row or column, it there a function for this? Probably you can give me an example? The problem is… I have to search for a patern where I dont know the position of the cell, so I have to search for the cell. As you understand, I cant do it manualy for a sheet with 100 rows and 100 columns. So I cant use xlsx.read(«A1»); xlsx.read(«A2»); 10000 times etc :-). Is there a way do do it? I tried to increase the position from A->B->C…..AA->AB etc and the same for columns 1->2 ->3 etc and put all together — but I failed do do it for characters so I cant put it together. I am able to work around this, but its still would be great to have something like nextrow and nextcolumn. thanks.
Formula is not auto evaluated.
Open the file «Book1.xlsx» created by the example «demo» using MS Excel 2007, the formulas in the «Formulas» worksheet are not evaluated, all result cells are 0, even if Excel 2007’s «auto evaluate formula» option is checked . If double click the resulthe formula is caxpected.
But this issue does not exist in MS Excel 2010.
[wishlist] Support to read/write worksheet headers and footers
Hi,
is there a way to read/write the headers and footers of a worksheet? Especially write support would be great.
Please add a function to read from the file!
Please add a function to read from the file!
xlsx.read («A1»); well, or like =)
Can’t make qtXlsxWriter
Hello,
i have downloaded latest version of qtXlsxWriter and tried to follow instructions:
- qmake runs perfectly.
- on «make» or «make install» i get this on mac, qt 5.1.1, clang_64:
iMac-Pavel:qtx CurrUser$ make install
cd src/ && ( test -e Makefile || /Users/CurrUser/Qt5.1.1/5.1.1/clang_64/bin/qmake /Users/CurrUser/qtProjects/excel/qtx/src/src.pro -o Makefile ) && /Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile install
cd xlsx/ && ( test -e Makefile || /Users/CurrUser/Qt5.1.1/5.1.1/clang_64/bin/qmake /Users/CurrUser/qtProjects/excel/qtx/src/xlsx/xlsx.pro -o Makefile ) && /Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile install
Project WARNING: You should probably load(qt_build_config) first in xlsx.pro for QtXlsx, as the latter also load()s qt_module.
Project MESSAGE: Not doing so may lead to qt_module.prf overriding compiler/linker options in your .pro file.
Project MESSAGE: Ignore this warning with CONFIG+=no_qt_module_warning if you know what you are doing.
Project ERROR: Module does not define version.
make[1]: *** [sub-xlsx-install_subtargets] Error 3
make: *** [sub-src-install_subtargets] Error 2
and this on win 8.1, qt 5.2.1, mingw:
C:UsersCurrUserDesktopqtProjectqtx>mingw32-make
cd src && ( if not exist Makefile C:QtQt5.2.15.2.1mingw48_32binqmake.exe
C:UsersCurrUserDesktopqtProjectqtxsrcsrc.pro -o Makefile ) && mingw32
-make -f Makefile
mingw32-make[1]: Entering directory 'C:/Users/CurrUser/Desktop/qtProject/qtx
/src'
cd xlsx && ( if not exist Makefile C:QtQt5.2.15.2.1mingw48_32binqmake.exe
C:UsersCurrUserDesktopqtProjectqtxsrcxlsxxlsx.pro -o Makefile ) &&
mingw32-make -f Makefile
Project WARNING: You should probably load(qt_build_config) first in xlsx.pro for
QtXlsx, as the latter also load()s qt_module.
Project MESSAGE: Not doing so may lead to qt_module.prf overriding compiler/link
er options in your .pro file.
Project MESSAGE: Ignore this warning with CONFIG+=no_qt_module_warning if you kn
ow what you are doing.
Project ERROR: Module does not define version.
Makefile:38: recipe for target 'sub-xlsx-make_first' failed
mingw32-make[1]: *** [sub-xlsx-make_first] Error 3
mingw32-make[1]: Leaving directory 'C:/Users/CurrUser/Desktop/qtProject/qtx/
src'
makefile:40: recipe for target 'sub-src-make_first' failed
mingw32-make: *** [sub-src-make_first] Error 2
How i can fix it?
with best regards,
Pavel.
calendar Example issue
when I run calendar Example have a issue
when debugging to report errors on this line will be
xlsx.setRowHeight(1, 80);
but that line at the back of
xlsx.write(«A1», QString(«%1 %2»).arg(QLocale().monthName(month)).arg(today.year()));
no problem
i using Office 2010
Trouble with some array formulas
Hi,
I hadn’t had trouble working with array formulas so far.
But I tried to count the number of occurences where 2 columns are equal to a string value, like this :
{=SUM(IF((C2:C41=»X»)*(B2:B41=»X»),1,0))}
Works fine on excel, but I can’t get it to work with QtXlsx.
Trying to open my file with excel tells me some of the content is unreadable, and it transforms the formula to zeros (as values)
With openoffice, I get en «Err:508» in the cell. The formula is present is the cell though, as written above.
Trying to replace strings by int values gives me the same result.
Date Format?
Hello,
I am trying to figure out what options there are to read dates that were generated though excel.
In my project https://github.com/CCi-BClark/NERD I am using your class to read an excel files into QtableWidget’s under a QTabWidget. This works fine; when a date is created under excel I cannot figure out how to make it format correctly or even how to identify it as a date.
What class functions should I checkout? Have any suggestions?
Problem while building the library
I was trying to build the library using Qt Creator 5.2.1 and got this message-
:-1: error: Failed to run: perl -w C:Qt5.2.1mingw48_32binsyncqt.pl -module QtXlsx -version 0.3.0 -outdir C:/Users/Kushagra/Desktop/src/QtXlsxWriter
While trying to build using command line i got this —
C:UsersKushagraDesktoprohil>qmake
Info: creating cache file C:/Users/Kushagra/Desktop/rohil/.qmake.cache
C:UsersKushagraDesktoprohil>mingw32-make.exe
cd src && ( if not exist Makefile C:Qt5.2.1mingw48_32binqmake.exe C:Users
KushagraDesktoprohilsrcsrc.pro -o Makefile ) && mingw32-make.exe -f Makefil
e
mingw32-make.exe[1]: Entering directory 'C:/Users/Kushagra/Desktop/src'
cd xlsx && ( if not exist Makefile C:Qt5.2.1mingw48_32binqmake.exe C:User
sKushagraDesktopsrcQtXlsxWritersrcxlsxxlsx.pro -o Makefile ) && mingw32-m
ake.exe -f Makefile
Project MESSAGE: perl -w C:Qt5.2.1mingw48_32binsyncqt.pl -module QtXlsx -ve
rsion 0.3.0 -outdir C:/Users/Kushagra/Desktop/src/QtXlsxWriter
Could not find any sync.profile for your module!
Pass to syncqt to sync your header files.
syncqt failed at C:Qt5.2.1mingw48_32binsyncqt.pl line 778.
Project ERROR: Failed to run: perl -w C:Qt5.2.1mingw48_32binsyncqt.pl -modu
le QtXlsx -version 0.3.0 -outdir C:/Users/Kushagra/Desktop/src/QtXlsxWriter
Makefile:38: recipe for target 'sub-xlsx-make_first' failed
mingw32-make.exe[1]: *** [sub-xlsx-make_first] Error 3
mingw32-make.exe[1]: Leaving directory 'C:/Users/Kushagra/Desktop/src'
Makefile:40: recipe for target 'sub-src-make_first' failed
mingw32-make.exe: *** [sub-src-make_first] Error 2
Formula is being copied, not formula value?
I have a strange issue. I am displaying the excel data in a table in my project but every so often some formula cells aren’t copying the value of the formula but the formula itself. See image:
Could this be a bug or am I doing something maybe? here is my project: https://github.com/CCi-BClark/NERD
How to read formulas
Hello,
I am trying to analyze the content of an excel sheet.
When using the following code:
QVariant v = xlsx2.read(row,col);
qDebug()<< row << «;» << col << «;» << v.toString() << «; » << v.type();
the output for a formula is
2 ; 6 ; «=A2 + A3» ; QVariant::QString
My question, is the result of «=A2 + A3» stored somewhere as well or will it be required to do the math on my own?
Thanks
Support for shared formulas?
First of all, thanks for a great library.
I do have an issue though with a spreadsheet that uses the «shared formula» feature … it is created by Excel (and I don’t seem to be able to stop Excel from using this feature).
See http://stackoverflow.com/questions/18362112/what-is-the-meaning-of-t-shared-in-a-formula-element
Simply reading and then rewriting causes all the «shared references» to be converted to a simple number, rather than the original formula being written back out.
Eg:
QXlsx::Document test("SharedTest.xlsx");
test.saveAs("SharedTest_2.xlsx");
Causes cell C2 to be converted from «=A2*B2» to «0.15» in SharedTest_2.xlsx
I can’t seem to attach a file to this issue, but «SharedTest.xlsx» looks like this:
A | B | C | |
---|---|---|---|
1 | 1 | 1 | =A1*B1 |
2 | 0.15 | 1 | =A2*B2 |
3 | 0.15 | 1 | =A3*B3 |
4 | 1 | 1 | =A4*B4 |
5 | 1 | 0.56 | =A5*B5 |
6 | 1 | 1 | =A6*B6 |
Let me know if there is somewhere I can drop the sample spreadsheet if that is useful.
Regards
Anthony
Cant run application if QXlsx::Document recieve äüö as parameter.
Hello,
I am able to compile but I cant run my program if the file/directory I want to open contains ä or ü or ö.
So, for example my program crashes at if I use an «ä»
»’QXlsx::Document xlsx(«G:1_MasterpläneMasterplan_next10sets.xlsx»);»’
and works fine if I dont use it. Is there a way to work around it? I was not able to mask this character either.
Setting the background colour to any colour creates black cells.
I use the method QXlsx::Format::setPatternBackgroundColor
to set the background colour but the result is always a cell with a black colour. Looking in Excel (2011 — MacOS 10.8.4), it sets the value to the foreground colour (while in the file, the element used is correctly «bgColor»…). Doing the opposite (i.e. using the method QXlsx::Format::setPatternForegroundColor
) resolves my problem. Excel correctly paints the cell’s background (cell property show that colour is set for the background colour and in the file the element used is «fgColor» …).
I don’t know if it is an issue related to Excel 2011 or if the setting of both, the foreground and the background colours, are required to display correctly the background colours. I will try to investigate this problem under Windows.
Unable to build project
Opening the project in QT creator gives the following errors:
Project ERROR: Unknown module(s) in QT: xlsx
Project WARNING: You should probably load(qt_build_config) first in xlsx.pro for QtXlsx, as the latter also load()s qt_module.
Project MESSAGE: Not doing so may lead to qt_module.prf overriding compiler/linker options in your .pro file.
Project MESSAGE: Ignore this warning with CONFIG+=no_qt_module_warning if you know what you are doing.
Project ERROR: Module does not define version.
Project ERROR: Unknown module(s) in QT: xlsx
Project ERROR: Unknown module(s) in QT: xlsx
Project ERROR: Unknown module(s) in QT: xlsx
Project ERROR: Unknown module(s) in QT: xlsx-private xlsx
Project ERROR: Unknown module(s) in QT: xlsx-private xlsx
Project ERROR: Unknown module(s) in QT: xlsx-private xlsx
Project ERROR: Unknown module(s) in QT: xlsx-private xlsx
Project ERROR: Unknown module(s) in QT: xlsx-private xlsx
Project ERROR: Unknown module(s) in QT: xlsx-private xlsx
Project ERROR: Unknown module(s) in QT: xlsx-private xlsx
Project ERROR: Unknown module(s) in QT: xlsx-private xlsx
Project ERROR: Unknown module(s) in QT: xlsx-private xlsx
Project ERROR: Unknown module(s) in QT: xlsx-private xlsx
Project ERROR: Unknown module(s) in QT: xlsx
Project ERROR: Unknown module(s) in QT: xlsx
Project ERROR: Unknown module(s) in QT: xlsx
Project ERROR: Unknown module(s) in QT: xlsx
If I try building it, I get the following error —
Executable F:QtXlsxWriterbuild-qtxlsx-Desktop_Qt_5_3_0_MSVC2012_OpenGL_32bit-Debugtestsautoformatdebugtst_format.exe does not exist.
Wrong parenthesis in method Format::hasProtectionData()?
In Format::hasProtectionData() (xslxformat.cpp) it is
if (hasProperty(FormatPrivate::P_Protection_Hidden)
|| FormatPrivate::P_Protection_Locked) {
I think the parenthesis should be:
if (hasProperty(FormatPrivate::P_Protection_Hidden
|| FormatPrivate::P_Protection_Locked)) {
Greetings
Matthias
Creating Excel Chart
Hi!
Just want to ask if this library supports creating excel charts? If possible, how? Any example?
Thanks
Auto Size Column
Thanks, Debao for your work. It’s working fine…
Is it somehow possible to «Auto Size» the column width?
Bests, Matthias
Having only one format with borders does not display the borders in Excel
If you take the example «style» and you add only the first format, then the borders will not be displayed (at least in Excel 2011 — MacOS 10.8.4).
#include <QtCore> #include "xlsxworkbook.h" #include "xlsxworksheet.h" #include "xlsxformat.h" #ifdef Q_OS_MAC # define DATA_PATH "../../../" #else # define DATA_PATH "./" #endif int main() { QXlsx::Workbook workbook; QXlsx::Worksheet *sheet = workbook.addWorksheet(); QXlsx::Format *format1 = workbook.addFormat(); format1->setFontColor(QColor(Qt::red)); format1->setFontSize(15); format1->setHorizontalAlignment(QXlsx::Format::AlignHCenter); format1->setBorderStyle(QXlsx::Format::BorderDashDotDot); sheet->write("A1", "Hello Qt!", format1); sheet->write("B3", 12345, format1); workbook.save(DATA_PATH"TestStyle.xlsx"); return 0; }
In fact, only one style is created, and then only one cellXfs element which does not set the attribute «applyBorder».
However, if you add a style without border and use it (like the format4 in the example «style»), then the borders are correctly displayed.
#include <QtCore> #include "xlsxworkbook.h" #include "xlsxworksheet.h" #include "xlsxformat.h" #ifdef Q_OS_MAC # define DATA_PATH "../../../" #else # define DATA_PATH "./" #endif int main() { QXlsx::Workbook workbook; QXlsx::Worksheet *sheet = workbook.addWorksheet(); QXlsx::Format *format1 = workbook.addFormat(); format1->setFontColor(QColor(Qt::red)); format1->setFontSize(15); format1->setHorizontalAlignment(QXlsx::Format::AlignHCenter); format1->setBorderStyle(QXlsx::Format::BorderDashDotDot); sheet->write("A1", "Hello Qt!", format1); sheet->write("B3", 12345, format1); QXlsx::Format *format4 = workbook.addFormat(); format4->setFontBold(true); format4->setFontColor(QColor(Qt::magenta)); sheet->setColumn(8, 15, 5.0, format4); workbook.save(DATA_PATH"TestStyle.xlsx"); return 0; }
I checked in the code to modify this behaviour during the saving of the data into an XLSX file (method QXlsx::Styles::writeBorders). However, it was already too late as the worksheet is already written and the index of the style already written. My idea is to add a «dummy» format if necessary before the saving of the data and adapt the format’s index in the cells if necessary. But I still need to find the way to adapt the index.
<c s=»464″ …; errors at startup
Hi,
I got a lot of errors when opening an existing xlsx file (not created by the current QtXlsx tool).
«<c s=»464″»>Invalid style index: » 464
(a lot of lines below)
I don’t know if there is a link, but i’m unable to use the cellAt method. The read method works well but if i tried the use the formula() or value() sub-method, it crash the application.
dataType returns 3 (formular) though.
Do you have an idea ?
Thanks in advance.
Cell misplacement when font colors exist.
The cells seem to be be in the wrong place when an existing file is being read with text formating (e.g. cellAt(«A1») is actually B1 and cellAt(«A2») is A2 but cellAt(«A3») is actually «A4»). Here is the code I am using to load the file:
QFileInfo fileName;
fileName = QFileDialog::getOpenFileName(this,tr("Open Excel File"), "/home/", tr("Excel Files (*.xlsx)"));
QXlsx::Document file(fileName.absoluteFilePath());
file.setCurrentWorksheet(0);
qDebug() << file.cellAt("A1")->value().toString(); // Is B1
qDebug() << file.cellAt("A2")->value().toString(); // Is A2
qDebug() << file.cellAt("A3")->value().toString(); // Is A4
qDebug() << file.cellAt("A4")->value().toString(); // Is A4
This works great as long as the file has no text color formatting (i.e. red). Is there something I can do so I wouldn’t need to worry about the font color messing up my ability to read the file?
Can’t compile example code
Forgive me if the answer is obvious but I’m a Java coder moving to C++/Qt and I’m still learning the directory and code structure.
I’m attempting to compile the qtxlsx.pro file in QtCreator 2.4.1 but I receive the message «Unable to find file for inclusion qt_parts». The qtxlsx.pro file only has one line — load(qt_parts). Is qt_parts a file that should be in the source file tree? I can’t find it anywhere in the code I downloaded yesterday.
Thanks in advance and I apologize if I’m missing something obvious.
Fred
Date Time / Daylight Saving Time
Hi, thank You for this great software.
I think I found a bug: when i write a date in a cell, the cell may display the wrong date if it is a ‘daylight save date’.
For example:
QDate(2014, 1, 1) would be correctly displayed.
while QDate(2014, 4, 1) would be displayed as ’31/03/2014 23:00:00′.
A possible solution / workaround could be to add the following check:
if (dt.isDaylightTime()) // Add one hour if the date is Daylight
excel_time += 1.0 / 24.0;
in function
double datetimeToNumber(const QDateTime &dt, bool is1904)
in file xlsxutility.cpp
This works in Linux and Windows, don’t know in Mac
hi
riccardo
Write A big Data To a WorkSheet
When I what write than 52000 row data。I can’t Write success。But The ram is used About 1G,And It is so slow。
About hava 120 column。
I use «xlsx->selectSheet(«SIM»);
xlsx->write(200,1,QString::fromStdString(str))»
ExcelView : Interested?
Formulas not calculated on first two rows
Just tried to use this library with a QTableView and I’m finding that the formulas on the first two rows are not being evaluated (i.e. the cell shows the formula rather than the result). For the remaining rows, the formula is shown evaluated.
I’ve tried a couple of different files and the results are the same. It doesn’t appear to be an index based issue as if I insert a couple of empty rows the result is the same.
Is this a bug or am I doing something wrong?
Thanks.
read() crashes
Hi,
I tried to read an existing file but it crashes with the following outputs:
"<c s="111">Invalid style index: " 111
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="5">Invalid style index: " 5
"<c s="46">Invalid style index: " 46
"<c s="46">Invalid style index: " 46
"<c s="46">Invalid style index: " 46
"<c s="412">Invalid style index: " 412
"<c s="412">Invalid style index: " 412
"<c s="412">Invalid style index: " 412
"<c s="412">Invalid style index: " 412
The program has unexpectedly finished.
Here is the code that I used:
Document xlsx("Test.xlsx");
qDebug() << xlsx.read("C9");
The file opens in M$ Excel without errors so I think there’s no problem with the file.
Best Regards.
Cant compile a debug version
Hello,
I use Qt 5.1 and the latest QtXlsxWriter (downloaded today)
somehow I cant compile a debug version but it works as release version without problems. here what I get if I try to compile as a debug version:
....build-euvl-Desktop_Qt_5_1_0_MinGW_32bit-Debugdebugxlsxdocument.o:-1: In function
ZN5QXlsx8DocumentC2EP7QObject’:
…xlsxxlsxdocument.cpp:306: error:undefined reference to vtable for QXlsx::Document
Any idea how to fix this?