|
Вопросы о SMH-2G(i) Здесь всё, что касается работы контроллера SMH-2G(i). |
|
Опции темы | Поиск в этой теме |
24.01.2017, 15:17 | #1 |
Новичок
Регистрация: Jan 2017
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Создание проекта С++
Добрый день. Я новичок в С++. Пытаюсь создать новый проект на C++ для контроллера, делаю все по инструкции: SMH2GI Программирование на С Руководство. Не могу скомпилировать полученный проект, ничего в нем не создавал и не изменял, в нем только вечный цикл. Виртуалку брал с вашего сайта. Компилятор выдает следующую ошибку: gcc trying to exec 'cc1plus': execvp: Нет такого файла или каталога. Судя по всему проект C++ пытается скомпилироваться компитятором G, а не G++. Проект Demo компилируется нормально, но там отличаются makefile-ы. Подскажите почему в новом проекте создался не верный makefile и как его поправить. Боюсь простое copy-paste makefile-а не сработает. Заранее благодарю.
|
24.01.2017, 18:55 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Создание проекта С++
Цитата:
Правильный путь: /opt/arm2008q3/arm-none-linux-gnueabi/bin __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
24.01.2017, 19:17 | #3 |
Новичок
Регистрация: Jan 2017
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Создание проекта С++
Спасибо. Попробую завтра на работе. Ещё есть вопрос относительно С++ на контроллере. Глобальные переменные в программе C++ сохраняются в энергонезависимой памяти, наподобие механизма ARRAY в SMLogix, или их значения сбросятся после перезапуска контроллера?
|
24.01.2017, 19:23 | #4 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Создание проекта С++
Конечно же нет.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
24.01.2017, 19:31 | #5 |
Новичок
Регистрация: Jan 2017
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Создание проекта С++
Извините за мою непонтяливость, но "Конечно нет" это: Глобальные переменные НЕ сохраняются в постоянной памяти, или же они НЕ сбрасываются после перезапуска контроллера?
|
24.01.2017, 20:07 | #6 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Создание проекта С++
Цитата:
Си/C++ - это язык третьего поколения. А это значит, что компилятор вас "за ручку" водить не будет. Всё делаете сами. Сами память выделяете, сами очищаете её. Сами сохраняете туда значения и читаете их оттуда. И в файл сохраняете, если вам надо. Вовремя сохраняете - это отдельная история. С проверкой, записалось ли и обработкой всех ошибок записи. Причём сохранение в файл - это не то, чтобы "выплюнул куда-то данные и забыл". Это нужно открыть устройство, проверить носитель, проверить файловую систему, проверить возможность записи и наличие свободного места. И только потом создавать или модифицировать файл. Который потом корректно закрывать, скидывать буферы (тоже вовремя!). И если на каком-то шаге будет отказ, а он обязательно будет рано или поздно, этот отказ нужно корректно разрулить. Судя по вашим вопросам, вы с какого-то ЯВУ одного из последних поколений пришли. Где шаг вправо-влево считается побегом, а прыжок на месте - провокацией. И всё выполнение происходит в "песочнице" с сохранением состояния программы при её закрывании. Си/C++ не такой. Он не то, чтобы на нашем контроллере не такой. Или в Линуксе не такой. Он по жизни не такой. Особенно Си. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
24.01.2017, 20:17 | #7 |
Новичок
Регистрация: Jan 2017
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Создание проекта С++
Это все конечно очень интересно, но от начала программирования меня отделят только один вопрос, сбросятся ли глобальные переменные в программе на С++ или нет?
|
24.01.2017, 20:37 | #8 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Создание проекта С++
Цитата:
В вашей терминологии это да, сбросятся. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
24.01.2017, 21:03 | #9 |
Новичок
Регистрация: Jan 2017
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Создание проекта С++
Спасибо=)
|
26.01.2017, 09:14 | #10 |
Новичок
Регистрация: Jan 2017
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Создание проекта С++
Решилось путем создания makefile в ручную, по той же инструкции.
|
09.02.2017, 07:48 | #11 |
Новичок
Регистрация: Feb 2017
Сообщения: 19
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Создание проекта С++
Добрый день!
Начал осваивать программирование контроллера «SMH 2Gi» на С++ по руководству. При попытке создания проекта в NetBeans (как описано в руководстве) получаю ошибку следующего содержания: /usr/bin/gcc -c -g3 -gdwarf-2 -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o main.o main.cpp gcc: error trying to exec 'cc1plus': execvp: Нет такого файла или каталога make: *** [main.o] Ошибка 1 MAKE FAILED (значение выхода 2, общее время: 172мс) Все предыдущие пункты делал так же по руководству. Подскажите, в какую сторону копать. |
09.02.2017, 12:40 | #12 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Создание проекта С++
Цитата:
gcc: error trying to exec 'cc1plus': execvp: Нет такого файла или каталога __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
10.02.2017, 05:42 | #13 |
Новичок
Регистрация: Feb 2017
Сообщения: 19
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Создание проекта С++
|
10.02.2017, 13:31 | #14 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Создание проекта С++
Цитата:
Qt я не использую. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
13.02.2017, 11:31 | #15 |
Новичок
Регистрация: Jan 2017
Сообщения: 10
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Создание проекта С++
|
13.02.2017, 11:45 | #16 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Создание проекта С++
Картинка.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
14.02.2017, 07:20 | #17 |
Новичок
Регистрация: Feb 2017
Сообщения: 19
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Создание проекта С++
|
14.02.2017, 11:19 | #18 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Создание проекта С++
Цитата:
Также мы не в силах оказывать техническую поддержку в этом направлении. Линукс и С++ существуют несколько десятков лет, в интернете достаточно материалов для самостоятельного изучения. Тем более, что вы программирования пока ещё и не касались. По SMLogix будут вопросы - обращайтесь, обязательно поможем! __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
21.07.2023, 13:40 | #19 |
Member
Регистрация: Jun 2021
Сообщения: 96
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Создание проекта С++
Столкнулся с такой же проблемой: error trying to exec 'cc1plus':
Что бы его загрузить командой: sudo apt-get install g++ Требуется пароль... Пароль сегнетикс не подходит. Какой пароль рут? ПС. Программу планируется писать для Матрикс. |
21.07.2023, 14:09 | #20 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Создание проекта С++
Если контроллер новый, то сегнетикс. Если не новый, то тот, который поставлен при загрузке проекта.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
21.07.2023, 14:17 | #21 |
Member
Регистрация: Jun 2021
Сообщения: 96
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Создание проекта С++
Имелось ввиду пароль для виртуальной машины. Ведь среда разработки в которой возникает проблема с сс1плюс находится в виртуальной машине.
|
21.07.2023, 14:21 | #22 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Создание проекта С++
"1"
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
21.07.2023, 14:29 | #23 |
Member
Регистрация: Jun 2021
Сообщения: 96
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Создание проекта С++
|