Russian Qt Forum

Компиляторы и платформы => Компиляторы => Тема начата: Larry от Декабрь 01, 2011, 10:46



Название: Внутренняя ошибка в файле компилятора[РЕШЕНО]
Отправлено: Larry от Декабрь 01, 2011, 10:46
Доброе утро, форумчане! Пишу программу для работы с com-портом и использую библиотеку QSerialDevice. Когда я создаю список доступных скоростей передачи данных, то появляется ошибка: fatal error C1001: Внутренняя ошибка в файле компилятора.
Вот код:
Код:
void CGPSTerminal::initInterface()
{
SPEEDCOMPORT speedComPort[] = // Ошибка появляется при объявлении и инициализации массива структур
{
(tr("50"), AbstractSerial::BaudRate50),
(tr("75"), AbstractSerial::BaudRate75),
(tr("110"), AbstractSerial::BaudRate110),
(tr("134"), AbstractSerial::BaudRate134),
(tr("150"), AbstractSerial::BaudRate150),
(tr("200"), AbstractSerial::BaudRate200),
(tr("300"), AbstractSerial::BaudRate300),
(tr("600"), AbstractSerial::BaudRate600),
(tr("1200"), AbstractSerial::BaudRate1200),
(tr("1800"), AbstractSerial::BaudRate1800),
(tr("2400"), AbstractSerial::BaudRate2400),
(tr("4800"), AbstractSerial::BaudRate4800),
(tr("9600"), AbstractSerial::BaudRate9600),
(tr("14400"), AbstractSerial::BaudRate14400),
(tr("19200"), AbstractSerial::BaudRate19200),
(tr("38400"), AbstractSerial::BaudRate38400),
(tr("56000"), AbstractSerial::BaudRate56000),
(tr("57600"), AbstractSerial::BaudRate57600),
(tr("76800"), AbstractSerial::BaudRate76800),
(tr("115200"), AbstractSerial::BaudRate115200),
(tr("128000"), AbstractSerial::BaudRate128000),
(tr("230400"), AbstractSerial::BaudRate230400),
(tr("256000"), AbstractSerial::BaudRate256000),
(tr("460800"), AbstractSerial::BaudRate460800),
(tr("500000"), AbstractSerial::BaudRate500000),
(tr("576000"), AbstractSerial::BaudRate576000),
(tr("921600"), AbstractSerial::BaudRate921600),
(tr("1000000"), AbstractSerial::BaudRate1000000),
(tr("1152000"), AbstractSerial::BaudRate1152000),
(tr("1500000"), AbstractSerial::BaudRate1500000),
(tr("2000000"), AbstractSerial::BaudRate2000000),
(tr("2500000"), AbstractSerial::BaudRate2500000),
(tr("3000000"), AbstractSerial::BaudRate3000000),
(tr("3500000"), AbstractSerial::BaudRate3500000),
(tr("4000000"), AbstractSerial::BaudRate4000000)
};

m_port = new AbstractSerial(this);

QStringList listSpeedComPort;

/*for(int index = 0; index < MAX_INDEX_SPEED; index++)
listSpeedComPort << speed[index].speed;*/

//m_ui->m_cbSpeedComPort->addItems(listSpeedComPort);

connect(m_ui->m_tbUpdateListComPort, SIGNAL(clicked()), this, SLOT(slotUpdateListComPort()));
connect(m_ui->m_pbOpenComPort, SIGNAL(clicked()), this, SLOT(slotOpenComPort()));
}


Название: Re: Внутренняя ошибка в файле компилятора
Отправлено: GreatSnake от Декабрь 01, 2011, 10:53
Какой смысл заводить неиспользуемый массив speedComPort?
И причём здесь Пользовательский интерфейс (GUI)?

PS. скорее всего дело в tr(). Ты планируешь как-то переводить числа? Зачем ???


Название: Re: Внутренняя ошибка в файле компилятора
Отправлено: LisandreL от Декабрь 01, 2011, 13:50
MSVC? Попробуйте оптимизации поотключать: http://msdn.microsoft.com/en-us/library/chh3fb0k.aspx
С другим компилятором проявляется? В дебажном варианте проявляется или только в релизе?


Название: Re: Внутренняя ошибка в файле компилятора
Отправлено: Larry от Декабрь 01, 2011, 17:58
Извините, что не отвечал,..не было на месте. Убрал tr() не помогло, поигрался с оптимизацией тоже самое...Что может быть еще?


Название: Re: Внутренняя ошибка в файле компилятора
Отправлено: GreatSnake от Декабрь 01, 2011, 19:15
Показывай описание SPEEDCOMPORT и CGPSTerminal.


Название: Re: Внутренняя ошибка в файле компилятора
Отправлено: Larry от Декабрь 01, 2011, 22:27
Код:
struct SPEEDCOMPORT
{
        QString strSpeed;
        AbstractSerial::BaudRate baudRate;
};

Описание CGPSTerminal завтра с утра покажу, все на работе осталось :)...спасибо


Название: Re: Внутренняя ошибка в файле компилятора
Отправлено: LisandreL от Декабрь 01, 2011, 23:58
Стоп! Блин, я туплю.
Структуры же инициализируются фигурными скобками, а у вас круглые.


Название: Re: Внутренняя ошибка в файле компилятора
Отправлено: Larry от Декабрь 02, 2011, 09:47
Стоп! Блин, я туплю.
Структуры же инициализируются фигурными скобками, а у вас круглые.
это не Вы тупите, а я :)...дожился блин...спасибо огромное, что ткнули носом :)


Название: Re: Внутренняя ошибка в файле компилятора
Отправлено: LisandreL от Декабрь 02, 2011, 09:55
это не Вы тупите, а я
Ну, я в том смысле, что если б заметил, сразу бы сказал, а не посылал бы с опциями оптимизации играться.
Ну и компилятор, вообще говоря, мог бы повнятней ошибку выдавать.


Название: Re: Внутренняя ошибка в файле компилятора[РЕШЕНО]
Отправлено: Larry от Декабрь 02, 2011, 10:55
еще раз огромное спасибо, просто мне надо быть повнимательней ;D


Название: Re: Внутренняя ошибка в файле компилятора[РЕШЕНО]
Отправлено: GreatSnake от Декабрь 02, 2011, 10:59
еще раз огромное спасибо, просто мне надо быть повнимательней ;D
Кстати, если бы ты посмотрел описание ошибки Fatal Error C1001 (http://msdn.microsoft.com/en-us/library/y19zxzb2.aspx) и отключил оптимизацию, то вполне возможно облегчил задачу компилятора по выявлению ошибки)


Название: Re: Внутренняя ошибка в файле компилятора[РЕШЕНО]
Отправлено: Larry от Декабрь 02, 2011, 11:17
спасибо, учту