Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Kirsten от Март 14, 2006, 13:03



Название: QString.toStdString() ошибка
Отправлено: Kirsten от Март 14, 2006, 13:03
При конвертации QString в stdString программа вылетает с ошибкой
Unhandled exception at 0x00572758 (msvcr80d.dll) in prog.exe: 0xC0000005: Access violation reading location 0x454f5449.
В чем проблема ?
Qt 4.1.0
MSVS 8


Название: QString.toStdString() ошибка
Отправлено: Sergeich от Март 14, 2006, 13:24
А ты поддержку STL при компиляции Qt включил?


Название: QString.toStdString() ошибка
Отправлено: Dendy от Март 14, 2006, 14:30
Если б не бьІло STL - вообще не скомпилилось бьІ.
Давай полньІй код программьІ.


Название: QString.toStdString() ошибка
Отправлено: Kirsten от Март 14, 2006, 18:26
Вот, в только что созданном проекте, ошибка та же самая.
Код:

#include "qstr_test.h"
#include <string>
#include <iostream>
using namespace std;

qstr_test::qstr_test(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags)
{
ui.setupUi(this);
QString qstr("sdf");
string str = qstr.toStdString();
}




Название: QString.toStdString() ошибка
Отправлено: Sergeich от Март 14, 2006, 18:48
Попробуй добавить CONFIG += stl  в прошке


Название: QString.toStdString() ошибка
Отправлено: Kirsten от Март 14, 2006, 19:06
Цитата: "Sergeich"
Попробуй добавить CONFIG += stl  в прошке

не помогло


Название: QString.toStdString() ошибка
Отправлено: Dendy от Март 14, 2006, 19:22
Попробовал на Qt 4.1.1. Без проблем.


Название: QString.toStdString() ошибка
Отправлено: Kirsten от Март 14, 2006, 20:08
Цитата: "Dendy"
Попробовал на Qt 4.1.1. Без проблем.

Ну на Qt 4.0.1 это у меня тоже нормально работало.


Название: QString.toStdString() ошибка
Отправлено: Dendy от Март 14, 2006, 20:12
Могу посоветовать отладить. В студии не должно бьІть проблем залезть в код Qt и убедиться в чём именно проблема.


Название: QString.toStdString() ошибка
Отправлено: Kirsten от Март 15, 2006, 10:39
Оказалось это из-за студии, в 7 и с 4.1 и с 4.0.1 работает, а в 8 нет.