Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Shu-Shu от Июль 21, 2011, 22:25



Название: [РЕШЕНО] Проблема с STL
Отправлено: Shu-Shu от Июль 21, 2011, 22:25
Писал я раньше под windows, решил попробовать под Linux, но не тут то было. Создается такое впечатление, что отсутствуют STL библиотеки. Пробовал CONFIG+=stl - не помогло.

../IIS/diz.cpp:43:59: ошибка: преобразование из «std::vector<QString>::size_type {aka long unsigned int}» в «const QVariant» неоднозначно
../IIS/diz.cpp:43:58: замечание: candidates are:
/usr/include/QtCore/qvariant.h:433:12: замечание: QVariant::QVariant(void*) <near match>
/usr/include/QtCore/qvariant.h:433:12: замечание:   no known conversion for argument 1 from «std::vector<QString>::size_type {aka long unsigned int}» to «void*»
/usr/include/QtCore/qvariant.h:227:5: замечание: QVariant::QVariant(Qt::GlobalColor) <near match>
/usr/include/QtCore/qvariant.h:227:5: замечание:   no known conversion for argument 1 from «std::vector<QString>::size_type {aka long unsigned int}» to «Qt::GlobalColor»
/usr/include/QtCore/qvariant.h:194:36: замечание: QVariant::QVariant(const char*) <near match>
................ и так далее

Видимо, нужно использовать какие-то специфичные ключи при сборке или править pro-файл?
ОС Arch Linux x86-64, IDE - Qt Creator.


Название: Re: Проблема с STL
Отправлено: Пантер от Июль 22, 2011, 07:27
Покажи код, на который ругается.


Название: Re: Проблема с STL
Отправлено: Shu-Shu от Июль 22, 2011, 11:49
Дело в том, что ругается даже на подключение вектора.

#include <vector>
vector: нет такого файла или каталога.

Переустановка Qt не помогла. Устанавливал из готового пакета из репозитория. И что-то я сомневаюсь, что оттуда могла быть исключена поддержка STL. В качестве DE использую KDE, может быть, проблема в этом?
Добавление в .pro файл путей типа /usr/include/c++/4.6.1 также не работает.


Название: Re: Проблема с STL
Отправлено: Sancho_s_rancho от Июль 22, 2011, 12:27

Переустановка Qt не помогла. Устанавливал из готового пакета из репозитория. И что-то я сомневаюсь, что оттуда могла быть исключена поддержка STL. В качестве DE использую KDE, может быть, проблема в этом?
Добавление в .pro файл путей типа /usr/include/c++/4.6.1 также не работает.

Никаких путей не надо. STL является частью С++.
Qt тут не причем. Что-то не так в системе.


Название: Re: Проблема с STL
Отправлено: Пантер от Июль 22, 2011, 12:57
Какие-то devel пакеты не стоят. Дистрибутив какой?


Название: Re: Проблема с STL
Отправлено: Shu-Shu от Июль 22, 2011, 14:25
Дистрибутив Arch linux

стоит пакет base-devel
Код:
pacman -Qs devel
local/autoconf 2.68-1 (base-devel)
    A GNU tool for automatically configuring source code
local/automake 1.11.1-2 (base-devel)
    A GNU tool for automatically creating Makefiles
local/bison 2.5-1 (base-devel)
    The GNU general-purpose parser generator
local/fakeroot 1.16-1 (base-devel)
    Gives a fake root environment, useful for building packages as a non-privileged user
local/flex 2.5.35-4 (base-devel)
    A tool for generating text-scanning programs
local/gcc 4.6.1-2 (base-devel)
    The GNU Compiler Collection - C and C++ frontends
local/lcms 1.19-1
    Lightweight color management development library/engine
local/libtool 2.4-4 (base-devel)
    A generic library support script
local/m4 1.4.16-1 (base-devel)
    The GNU macro processor
local/make 3.82-3 (base-devel)
    GNU make utility to maintain groups of programs
local/patch 2.6.1-2 (base-devel)
    A utility to apply patch files to original sources
local/pkg-config 0.26-1 (base-devel)
    A system for managing library compile/link flags
local/polkit 0.101-2
    Application development toolkit for controlling system-wide privileges
local/polkit-qt 0.99.0-1
    A library that allows developers to access PolicyKit API with a nice Qt-style API
local/qtcreator 2.2.1-3
    Lightweight, cross-platform integrated development environment
local/unixodbc 2.3.0-1
    ODBC is an open specification for providing application developers with a predictable API with
    which to access Data Sources


Название: Re: Проблема с STL
Отправлено: alex312 от Июль 22, 2011, 14:56
А может gcc4.6  - еще рано для Qt ?


Название: Re: Проблема с STL
Отправлено: Shu-Shu от Июль 22, 2011, 15:05
А может gcc4.6  - еще рано для Qt ?
Поспрашивал, в Федоре с аналогичной версией все нормально работает.  ???


Название: Re: Проблема с STL
Отправлено: Sancho_s_rancho от Июль 22, 2011, 15:57
Проблема сама не решится. Попробуй написать минимальное с++ приложение и скомпилировать из командной строки. Что-нибудь из разряда "Привет, мир". Ругается ли на инклуды?
Если совсем лениво разбираться, то просто скачай Nokia Qt sdk. Там все уже понапихано.


Название: Re: Проблема с STL
Отправлено: Shu-Shu от Июль 22, 2011, 23:47
Из консоли действительно все собралось. Проблема вобщем оказалась не в дистрибутиве, аналогичный код я собирал под виндой, но пользовался, видимо, старой версией Qt, отсюда и пошли ошибки.
Но, тем не менее Qt Creator как будто бы не видит STL библиотек (ругается на инклуды, не работает автодополнение и т.д.), но при это автосборка работает. 
Всем спасибо, буду, наверное, откатывать Creator.


Название: Re: [РЕШЕНО] Проблема с STL
Отправлено: Пантер от Июль 23, 2011, 10:21
У Qt Creator всегда были проблемы с stl - смирись. Советую попробовать KDevelop4 - классная штука.