[英]QtCreator unable to find Qxt headers on Linux?
我正在開發一個Qt5 / QtQuick / QML應用程序,當該應用程序處於隱藏狀態或焦點不清晰時,該應用程序應該使用QxtGlobalShortcut進行熱鍵控制。 我一直在Linux上使用QtCreator進行開發,但我並不完全熟悉Linux開發,因此我可能錯過了一些簡單的知識。
首先,我嘗試從此處克隆Qxt git repo的主分支。 但是由於某種原因, 。/ configure無法根據我從make和make install中得到的錯誤創建makefile。 我從源代碼構建其他人的項目/庫的經驗不是很豐富,而且從./configure獲得的輸出還不夠具體,不足以讓我知道發生了什么。
因此,我決定從(X)ubuntu的APT存儲庫中獲取libqxt-dev 。 安裝完成后,我將這些行添加到QtCreator項目文件的底部:
INCLUDEPATH = usr/include
CONFIG += qxt
QXT += core gui
在完全基於Qxt文檔的示例設置了基本的全局快捷方式之后。 我遇到了一些編譯錯誤。 首先,Qxt似乎使用:
#include <QxtGlobalShortcut>
但是QtCreator找不到該文件,所以我將其更改為:
#include <qxt/QxtGui/QxtGlobalShortcut>
現在它可以找到Global Shortcut類頭,並且QtCreator不再對我抱怨。 不幸的是,編譯時QtCreator拋出了以下錯誤消息:
/usr/include/qxt/QxtGui/qxtglobalshortcut.h:28: error: qxtglobal.h: No such file or directory
我認為這是由我的項目的INCLUDE路徑中的問題或某些原因引起的,但是即使嘗試將我的項目的INCLUDE路徑更改為此問題,也可能是這樣:
INCLUDEPATH = usr/include
usr/include/qxt/QxtCore
usr/include/qxt/QxtGui
CONFIG += qxt
QXT += core gui
我仍然收到相同的錯誤消息,即找不到QxtGlobal.h(已包含在QxtGlobalShortcut.h中) ..因此,我真的不確定自己做錯了什么,而且有關如何解決此問題的想法。 希望有人可以幫助我了解我跳過了哪些步驟,以便我可以繼續編碼! 謝謝!
編輯:這就是我整個Qt項目.pro文件的內容:
TEMPLATE = app
QT += qml quick
SOURCES += main.cpp \
Gamepad.cpp \
Script.cpp \
System.cpp
RESOURCES += qml.qrc
# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =
# Default rules for deployment.
include(deployment.pri)
HEADERS += \
Gamepad.h \
Script.h \
System.h
LIBS += -L/usr/lib -lSDL2
CONFIG += qxt
QXT += core gui
QtCreator會為我的項目自動生成LIBS之前的所有內容。 我根據SDL2和Qxt的用戶說明添加了LIBS,CONFIG和QXT元素。
這是一個大問題:
INCLUDEPATH = usr/include
1)您正在使用當前工作目錄中的相對路徑,而不是文件系統根目錄中的/usr/include
。
2)您要刪除INCLUDEPATH中的所有內容,因為您設置而不是使用+=
附加。
3)無論如何都無需添加該行,因為默認情況下將查找/ usr / include。
4)即使不是,您也可以使用#include "qxtglobal.h"
而不是#include <qxtglobal.h>
。
我建議刪除該行,然后就可以了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.