Russian Qt Forum
Ноябрь 23, 2024, 13:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Проблема с STL  (Прочитано 8689 раз)
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.
« Последнее редактирование: Июль 22, 2011, 23:48 от Shu-Shu » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Июль 22, 2011, 07:27 »

Покажи код, на который ругается.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Shu-Shu
Гость
« Ответ #2 : Июль 22, 2011, 11:49 »

Дело в том, что ругается даже на подключение вектора.

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

Переустановка Qt не помогла. Устанавливал из готового пакета из репозитория. И что-то я сомневаюсь, что оттуда могла быть исключена поддержка STL. В качестве DE использую KDE, может быть, проблема в этом?
Добавление в .pro файл путей типа /usr/include/c++/4.6.1 также не работает.
Записан
Sancho_s_rancho
Гость
« Ответ #3 : Июль 22, 2011, 12:27 »


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

Никаких путей не надо. STL является частью С++.
Qt тут не причем. Что-то не так в системе.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #4 : Июль 22, 2011, 12:57 »

Какие-то devel пакеты не стоят. Дистрибутив какой?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Shu-Shu
Гость
« Ответ #5 : Июль 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
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #6 : Июль 22, 2011, 14:56 »

А может gcc4.6  - еще рано для Qt ?
Записан
Shu-Shu
Гость
« Ответ #7 : Июль 22, 2011, 15:05 »

А может gcc4.6  - еще рано для Qt ?
Поспрашивал, в Федоре с аналогичной версией все нормально работает.  Непонимающий
Записан
Sancho_s_rancho
Гость
« Ответ #8 : Июль 22, 2011, 15:57 »

Проблема сама не решится. Попробуй написать минимальное с++ приложение и скомпилировать из командной строки. Что-нибудь из разряда "Привет, мир". Ругается ли на инклуды?
Если совсем лениво разбираться, то просто скачай Nokia Qt sdk. Там все уже понапихано.
Записан
Shu-Shu
Гость
« Ответ #9 : Июль 22, 2011, 23:47 »

Из консоли действительно все собралось. Проблема вобщем оказалась не в дистрибутиве, аналогичный код я собирал под виндой, но пользовался, видимо, старой версией Qt, отсюда и пошли ошибки.
Но, тем не менее Qt Creator как будто бы не видит STL библиотек (ругается на инклуды, не работает автодополнение и т.д.), но при это автосборка работает. 
Всем спасибо, буду, наверное, откатывать Creator.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #10 : Июль 23, 2011, 10:21 »

У Qt Creator всегда были проблемы с stl - смирись. Советую попробовать KDevelop4 - классная штука.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 23.