qt3to4 - Инструмент портирования с Qt 3 на Qt 4Инструмент qt3to4 оказывает помощь при переносе проекта с Qt 3 на Qt 4. Он спроектирован для автоматизации самой утомительной части портирования. Для получения дополнительной информации о портировании приложений Qt 3 на Qt 4 смотрите Портирование на Qt 4 и Портирование файлов UI на Qt 4. Использованиеqt3to4 можно запустить либо с отдельными исходными файлами или заголовочными файлами C++, либо с целым проектом, заданным qmake .pro-файлом: qt3to4 myfile.cpp qt3to4 myapp.pro В режиме проекта qt3to4 читает .pro-файл и преобразует все указанные в нём файлы. Инструмент изменяет файлы на месте. Вы можете сделать копию своего проекта до запуска инструмента. Правила портированияИнструмент портирования Qt загружает правила портирования из XML-файла с именем q3porting.xml, находящегося в каталоге Qt tools/porting/src. Редактируя этот файл вы можете добавить собственные правила или же удалить некоторые правила. Стандартный файл q3porting.xml задаёт следующие преобразования:
Расположение файла qt3porting.xmlВы можете задать месторасположение файла qt3porting.xml с помощью опции -f командной строки. Это полезно, если вы хотите использовать модифицированный файл с вашими собственными правилами. Если вы не хотите сопровождать модифицированный qt3porting.xml, то можно создать "патч"-файл, который включает в себя оригинальный файл и добавляет или отключается правила. Синтаксис такого файла выглядит примерно так: <Rules> <Include>/path/to/q3porting.xml</Include> <item Type="RenamedHeader" Disable="True" > <Qt4>q3sqlselectcursor.h</Qt4> <Qt3>qsqlselectcursor.h</Qt3> </item> <item Type="RenamedHeader" > <Qt4>newclass.h</Qt4> <Qt3>oldclass.h</Qt3> </item> </Rules> Ведение логовИнструмент портирования протоколирует все изменения в файл с именем portinglog.txt в текущем каталоге. В этом файле перечисляются все изменения, внесённые в исходные файлы. Продвинутое использованиеПри портировании qt3to4 проводит синтаксический разбор исходный файлов и портирует содержимое согласно правилам языка C++. Этот этап синтаксического разбора C++ можно отключить с помощью опции -disableCppParsing. Если синтаксический разбор C++ включён, то qt3to4 должен иметь возможность найти заголовочные файлы, включаемые в исходные файлы. Необходимые заголовочные файлы подключают открытые заголовочные файлы Qt и любые заголовочные файлы, которые объявляют имена, возможно конфликтующие с именами в открытых заголовочных файлах Qt. Заголовочные файлы стандартного C++ и системные заголовочные файлы обычно не нужны. Вы можете сообщить qt3to4, где искать заголовочные файлы используя опцию командной строки -I. Информация из заголовочных файлов Qt 3.3 является встроенной, поэтому обычно не нужно указывать местонахождение заголовочных файлов Qt. Если вы портируете из разных версий Qt 3, вы можете отключить встроенные заголовочные файлы с помощью -disableBuiltInQt3Headers, а затем добавить путь к актуальным заголовочным файлам с помощью опции -I. При портировании проекта qt3to4 читает переменные INCLUDEPATH and DEPENDPATH из .pro-файла и добавляет пути, указанные там, к списку каталогов поиска заголовочных файлов. Чтобы увидеть, какие заголовочные файлы не найдены, используйте опцию -missingFileWarnings. ОграниченияВ некоторых случаях вы можете получить ошибки компилятора, поскольку идентификаторы - в глобальном пространстве имён (например, CTRL). Добавление using namespace Qt; в начало файла с исходным текстом, который содержит идентификатор, решит проблему. Надлежащие уведомленияНекоторый исходный код в qt3to4 лицензирован под специфическими высоко открытыми лицензиями от исходных авторов. Nokia с благодарностью принимает эти пожертвования в qt3to4 и все виды использования qt3to4, также будет признавать эти пожертвования и цитировать соответствующие пункты лицензий в приложении к документации. |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |