LINUX.ORG.RU

Ты видишь заголовок? Нет такого файла или каталога. А он есть.

 ,


0

1

Заголовок есть, это не битый симлинк, находится там же, где transaction.h, а он всё равно не видится:

make[4]: *** [Makefile:779: .obj/qpackagekitupdateinstaller.o] Ошибка 1
make[4]: *** [Makefile:793: .obj/qpackagekitupdaterbackend.o] Ошибка 1
In file included from /usr/include/packagekitqt5/PackageKit/Transaction:1,
                 from .moc/../../../../../../src/plugins/updaters/qpackagekit/qpackagekitupdateinstaller.h:4,
                 from .moc/moc_qpackagekitupdateinstaller.cpp:10:
/usr/include/packagekitqt5/PackageKit/transaction.h:30:10: фатальная ошибка: packagekitqt_global.h: Нет такого файла или каталога
   30 | #include <packagekitqt_global.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~
компиляция прервана.
make[4]: *** [Makefile:810: .obj/moc_qpackagekitupdateinstaller.o] Ошибка 1
make[4]: выход из каталога «/home/user/java/QtAutoUpdater/build/src/plugins/updaters/qpackagekit»
make[3]: *** [Makefile:99: sub-qpackagekit-make_first] Ошибка 2
make[3]: выход из каталога «/home/user/java/QtAutoUpdater/build/src/plugins/updaters»
make[2]: *** [Makefile:47: sub-updaters-make_first] Ошибка 2
make[2]: выход из каталога «/home/user/java/QtAutoUpdater/build/src/plugins»
make[1]: *** [Makefile:126: sub-plugins-make_first] Ошибка 2
make[1]: выход из каталога «/home/user/java/QtAutoUpdater/build/src»
make: *** [Makefile:50: sub-src-make_first] Ошибка 2
[user@gentoo build]$ cat /usr/include/packagekitqt5/PackageKit/packagekitqt_global.h
#ifndef PACKAGEKITQT_GLOBAL_H
#define PACKAGEKITQT_GLOBAL_H

#include <QtCore/QtGlobal>

#if defined(PACKAGEKITQT_LIBRARY)
#  define PACKAGEKITQT_LIBRARY Q_DECL_EXPORT
#else
#  define PACKAGEKITQT_LIBRARY Q_DECL_IMPORT
#endif

#endif // PACKAGEKITQT_GLOBAL_H
★★★★★

Последнее исправление: steemandlinux (всего исправлений: 1)

У меня подобная херня была из-за кривого cmake файла сборки, посмотрите файлы сборки и допишите include пути

AKonia ★★
()
Последнее исправление: AKonia (всего исправлений: 1)

У тебя где-то не достает INCLUDEPATH если qmake.

видел этот QtAutoUpdater на гитхабе что в нем прикольного?

bhfq ★★★★★
()
Последнее исправление: bhfq (всего исправлений: 1)

#include <bla.h> не ищёт bla.h в текущем каталоге (хотя теоретически может). Если не хватает -I, то интересно как он /usr/include/packagekitqt5/PackageKit/transaction.h нашёл (хотя может там #include <packagekitqt5/PackageKit/transaction.h>).

xaizek ★★★★★
()

ninja показывает команду, которая провалилась, что обычно помогает найти ошибку.

zerhud
()
Ответ на: комментарий от steemandlinux

в transaction.h

#include <packagekitqt_global.h>

А include на директорию выше. Накосячили в PackageKit, видимо это хедер должен идти в приватной части(transactionprivate.h)

arrecck ★★★
()
Ответ на: комментарий от steemandlinux

Вы в свой pro файл добавили: The autoupdater is provided as a Qt module. Thus, all you have to do is add the module, and then, in your project, add QT += autoupdatercore or QT += autoupdaterwidgets to your .pro file - depending on what you need! For QML, you can import the library as de.skycoder42.QtAutoUpdater.Core and de.skycoder42.QtAutoUpdater.Quick.

Silerus ★★★★
()

Вангую: .moc/../../../../../../src/plugins

invy ★★★★★
()
Ответ на: комментарий от steemandlinux

Значит косяк именно в packagekitqt5. Скорее всего, на автомате угловые скобки поставили, хотя тут нужны кавычки

#include "packagekitqt_global.h"

gremlin_the_red ★★★★★
()
Ответ на: комментарий от gremlin_the_red

Ааа, думал какой-то там костыль на угловые скобки, сейчас поправлю.

steemandlinux ★★★★★
() автор топика
Ответ на: комментарий от steemandlinux

В Qt модули библиотеки Qt подключаются в pro файле Qt += имя модуля. Например Qt +=sql -подключает модуль для работы с базой данной. В документации к той библиотеки написано что надо добавить QT += autoupdatercore or QT += autoupdaterwidgets, после чего выполнить qmake - и тогда подключаться нужные пути.

Silerus ★★★★
()
Ответ на: комментарий от bhfq

Мне вот эта кроссплатформенная шняга нужна:

A custom backend that checks for updates based on a HTTP-request and can download and execute any update tool

steemandlinux ★★★★★
() автор топика
Ответ на: комментарий от steemandlinux

Всё гораздо хуже. Я глянул ихние issues, там два года назад у кого-то что-то сломалось из-за того, что pkg-config стал выдавать -I/usr/include/packagekitqt5/PackageKit, в результате авторы вернули это взад на /usr/include/packagekitqt5. А сорцы поправить не поправили, поэтому сборка с qmake сломалась и уже два года сломана. А им пофиг, у них cmake.

gremlin_the_red ★★★★★
()
Последнее исправление: gremlin_the_red (всего исправлений: 1)
Ответ на: комментарий от akk

Для CMake недостаточно. Они решили сломать это негласное соглашение.

EXL ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.