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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Внутренняя ошибка в файле компилятора[РЕШЕНО]  (Прочитано 12760 раз)
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()));
}
« Последнее редактирование: Декабрь 02, 2011, 09:48 от Larry » Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Декабрь 01, 2011, 10:53 »

Какой смысл заводить неиспользуемый массив speedComPort?
И причём здесь Пользовательский интерфейс (GUI)?

PS. скорее всего дело в tr(). Ты планируешь как-то переводить числа? Зачем Непонимающий
« Последнее редактирование: Декабрь 01, 2011, 10:56 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #2 : Декабрь 01, 2011, 13:50 »

MSVC? Попробуйте оптимизации поотключать: http://msdn.microsoft.com/en-us/library/chh3fb0k.aspx
С другим компилятором проявляется? В дебажном варианте проявляется или только в релизе?
Записан
Larry
Гость
« Ответ #3 : Декабрь 01, 2011, 17:58 »

Извините, что не отвечал,..не было на месте. Убрал tr() не помогло, поигрался с оптимизацией тоже самое...Что может быть еще?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #4 : Декабрь 01, 2011, 19:15 »

Показывай описание SPEEDCOMPORT и CGPSTerminal.
Записан

Qt 5.11/4.8.7 (X11/Win)
Larry
Гость
« Ответ #5 : Декабрь 01, 2011, 22:27 »

Код:
struct SPEEDCOMPORT
{
        QString strSpeed;
        AbstractSerial::BaudRate baudRate;
};

Описание CGPSTerminal завтра с утра покажу, все на работе осталось Улыбающийся...спасибо
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #6 : Декабрь 01, 2011, 23:58 »

Стоп! Блин, я туплю.
Структуры же инициализируются фигурными скобками, а у вас круглые.
Записан
Larry
Гость
« Ответ #7 : Декабрь 02, 2011, 09:47 »

Стоп! Блин, я туплю.
Структуры же инициализируются фигурными скобками, а у вас круглые.
это не Вы тупите, а я Улыбающийся...дожился блин...спасибо огромное, что ткнули носом Улыбающийся
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #8 : Декабрь 02, 2011, 09:55 »

это не Вы тупите, а я
Ну, я в том смысле, что если б заметил, сразу бы сказал, а не посылал бы с опциями оптимизации играться.
Ну и компилятор, вообще говоря, мог бы повнятней ошибку выдавать.
Записан
Larry
Гость
« Ответ #9 : Декабрь 02, 2011, 10:55 »

еще раз огромное спасибо, просто мне надо быть повнимательней Смеющийся
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #10 : Декабрь 02, 2011, 10:59 »

еще раз огромное спасибо, просто мне надо быть повнимательней Смеющийся
Кстати, если бы ты посмотрел описание ошибки Fatal Error C1001 и отключил оптимизацию, то вполне возможно облегчил задачу компилятора по выявлению ошибки)
Записан

Qt 5.11/4.8.7 (X11/Win)
Larry
Гость
« Ответ #11 : Декабрь 02, 2011, 11:17 »

спасибо, учту
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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