Здравствуйте, гость ( Вход | Регистрация )
|
inviZ |
23.6.2010, 14:26
Сообщение
#1
|
|
Студент ![]() Группа: Новичок Сообщений: 16 Регистрация: 5.6.2010 Пользователь №: 1781 Спасибо сказали: 4 раз(а) Репутация: 1
|
Короче говоря, сегодня мною был обнаружен баг. Если класс не принадлежит глобальному пространству имен, lupdate отказывается правильно определять контекст.
Т.е., на такой код: Он ругается подобным образом: C:/Projects/Temporary/TempProject9/main.cpp:13: Qualifying with unknown namespace/class ::MyClass В результате в TS-файле получаем следующее: Хотя должно быть, конечно же "<name>MyNamespace::MyClass</name>". Естественно, такой файл перевода оказывается "нерабочим". Пока решил эту проблему так - использую lupdate из 4.5. Хотя, конечно, можно решить проблему, полностью специфицируя контекст, т.е.: Но я думаю, понятно, что не самый удобный вариант. В общем, стоит ли отправить багрепорт? |
|
|
|
![]() |
|
inviZ |
23.6.2010, 15:47
Сообщение
#2
|
|
Студент ![]() Группа: Новичок Сообщений: 16 Регистрация: 5.6.2010 Пользователь №: 1781 Спасибо сказали: 4 раз(а) Репутация: 1
|
Алексей1153, наверное, вы невнимательно прочитали тему. Естественно, в хидере объявление класса находится в этом же пространстве имен. В данном случае речь идет не об ошибке компиляции (отсутствуют они здесь), а об ошибке утилиты lupdate из инструментария Qt.
|
|
|
|
inviZ Баг в lupdate в 4.6.X 23.6.2010, 14:26
molchanoviv Думаю да. 23.6.2010, 14:28
Алексей1153 Всё ничуть не баг, а только синтаксис C++
Студия,... 23.6.2010, 14:38
Алексей1153 Ясно 23.6.2010, 17:36![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 14.12.2025, 13:29 |