我遇到了一個非常奇怪的錯誤,使用lupdate v4.7.2。我收到了錯誤信息lupdate錯誤:符合未知命名空間/類
module/foo.cpp:6: Qualifying with unknown namespace/class ::foo
對於一個項目中的幾個類有大約50個類。我煮沸問題降低到一個簡單的例子:
SRC/project.pro:
QT += core
TARGET = test
TEMPLATE = app
SOURCES += main.cpp \
screen.cpp
HEADERS += screen.h
TRANSLATIONS += de.ts
的src /模塊/ foo.h中:
namespace sp {
class foo {
initWidgets();
};
} // namespace sp
的src /模塊/ Foo.cpp中:
#include <QString>
#include "module/foo.h"
namespace sp {
foo::initWidgets() {
QString bar = tr("bar");
}
} // namespace sp
main.cpp中有一個空的main函數。代碼編譯(禁止我在這裏可能產生的任何copypasta錯誤),所以語法基本上是正確的。
我有同樣的問題,你的解決方案並沒有立即爲我工作,但指出我在正確的方向。根據[this](https://bugreports.qt-project.org/browse/QTBUG-24587?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel)錯誤報告,問題的根源是lupdate搜索相對於當前目錄的包含文件。在我的情況下,我不得不添加'INCLUDEPATH + = ../ src',因爲當前目錄是'。/ translations'。 – Wutz
@Wutz謝謝。您的評論進一步幫助我解決了構建錯誤。 –