Сборка QT из Git не находит хидеров( заголовочных файлов)

Как оказалось, после клонирования репозитария из git, configure не находит заголовочные файлы. Решить эту проблему мы можем в 2 шага:
- нужен Perl, в Linux он уже есть, в в Windows мы ставим ActivePerl
- запускаем файлик из папки qt/bin/syncqt.bat - он как раз создает необходимые заголовки.

После этого можно запускать компиляцию.

Блог отсутвует в Яндексе

Интересно, почему моего блога нет в Яндексе. Вроде до этого он был, просто заметил что яндекс перестал присылать мне посетителей, у Гугла такого провала нет. Хорошо, что мои посетители в основном пользуются google. Буду потихоньку разбираться.

QSqlError - Parameter count mismatch

Сегодня полчаса парился с куском кода

   QSqlQuery q;
    q.prepare("UDATE urls SET site=? WHERE id=?");
    q.addBindValue(host);
    q.addBindValue(id);

Возвращал ошибку "Parameter count mismatch" - долго смотрел на код, туда - сюда. Оказалось, что слово UPDATE написано не правильно - вот так бывает.

QT: Как запустить браузер по умолчанию

Возникла задачка запустить браузер по двойному клику на таблице. Долго искал как это сделать, и нашел. Функция:

QDesktopServices::openUrl

PS: иногда нужные функции или долго ищещь или не знаеешь как найти.

Фича: программа сама ищет свои обновления

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

1) Нужен сайт, на котором будет лежать инсталлятор и которые сможет отвечать на опеределенный HTTP запрос.
2) Прога посылает этому сайту, определенный http запрос, типа GET site.ru/get_version. В ответ ей возвращается имя версии на данные момент, она сравнивает его со своей и предлагает скачать пользователю новую версию.

Генератор отчетов для QT - eXaro

Наткнулся в форуме на то, что люди используют eXaro, решил посмотреть, что за продукт. По ссылке http://code.google.com/p/exaro/ написано, что это типа свободный LGPL движек для генерации отчетов, типа Jasper или Crystal Reports. И самое главное разработан он специально для Qt-шников.

Поддержка WHOIS в программе

Возникла передо мной задача: есть домен, в виде скажем qtblog.ru и нужно получить его WHOIS данные, а именно дату регистрации и дату удаления домена. По началу вроде все просто пишется клиент, который обращается к серверу к 43 порту, посылает туда имя домена и полученные данные парсит. А оказалось, на практике не все так просто.

Mingw и qt

Решил построить себе билд-ферму для сборки QT приложений компилятором Mingw. Для этого используется в качестве базовой платформы Linux, на нее ставиться VirtualBox, и уже у в него ставиться WinXP SP 3.

Далее, скачал графический инсталятор с сайта mingw. Но как оказалось, он не только не качает последнюю версию gcc44, так и еще качает битые пакеты. Они не ставятся, tar сообщает, что у архива неожиданный конец. Пришлось скачать все ручками - на сайтике все написано, главное ставить все по порядку.

Аналог trim в C++

Иногда возникаеть необходимость удалить из переменной типа std::string пробелы слева и справа. В классе string для этого методов, к сожалению нет. Для себя я набросал пару функций:

//проверка символа на разделитель
bool is_del(char c)
{
    if(c==' ' || c=='\t' || c==';' || c==',' || c=='=' || c==':' || c=='\n') return true;
    return false;
}

Выпуск релиза программы

Решил выпустить релиз программы. Смотрю на эту кучу исходников и офигеваю. Тут не работает, там не работает, эта фича не доделана, а релиз то уже пора делать ).

Берем напильник и начинаем вырезать фичи. Тут setDisable ставим на ComboBox, тут просто код за комментируем. Ух вроде минимум работает стабильно.

RSS-материал