QLibraryInfo не загружает qt.conf - PullRequest
5 голосов
/ 02 марта 2011

Я только что установил Qt 4.7.2 и пытаюсь использовать класс QLibraryInfo. Моя проблема в том, что QLibraryInfo::location(QLibraryInfo::PrefixPath) всегда возвращает C:\work3\qt-4.7-vs2010-x86, которого нет на моей машине генерации (должно быть C:\Qt\qt-4.7.2).

Согласно документации я пытался создать файл qt.conf вместе с моей программой, но проблема все еще остается. Вот его содержание:

[Paths]
Prefix=C:/Qt/qt-4.7.2/

Пока я использовал символическую ссылку, чтобы обойти проблему, но я хотел бы знать, есть ли правильное решение. Спасибо.

EDIT Вот программа, использующая QLibraryInfo:

int main(int argc, char ** argv)
{
    QCoreApplication app(argc, argv); //< added after Piotr's suggestion

    QFile outf("qtdirs.out");

    if (!outf.open(QIODevice::WriteOnly|QIODevice::Truncate|QIODevice::Text))
        return 1;

    QTextStream out(&outf);

    out << QLibraryInfo::location(QLibraryInfo::PrefixPath) << '\n';
    out << QLibraryInfo::location(QLibraryInfo::HeadersPath) << '\n';

...
}

1 Ответ

2 голосов
/ 08 марта 2011

QCoreApplication должно быть создано, потому что именно так QLibraryInfo может определить каталог приложения (QCoreApplication::applicationDirPath()), из которого нужно загрузить файл qt.conf. В качестве альтернативы, qt.conf может быть встроен в приложение как ресурс с путем ": /qt/etc/qt.conf".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...