khlenar 5 25 июня, 2023 Опубликовано 25 июня, 2023 · Жалоба 48 минут назад, dimka76 сказал: Это похоже вы как раз опции для компилятора настроили. А теперь надо еще опции для IDE настроить После этого еще можно сделать Indexer->Rebuild для этого правой кнопкой мыши на имени проекта. В выпадающем меню Indexer->Rebuild Спасибо. Сейчас попробую. Почему в проектах в С2000ware тогда сразу не прописывают нужные пути? Посмотрел. Там указаны пути. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 25 июня, 2023 Опубликовано 25 июня, 2023 · Жалоба 2 часа назад, dimka76 сказал: Это похоже вы как раз опции для компилятора настроили. А теперь надо еще опции для IDE настроить После этого еще можно сделать Indexer->Rebuild для этого правой кнопкой мыши на имени проекта. В выпадающем меню Indexer->Rebuild Можно прописать и там и там. Если пропишешь в одном месте, появится в другом. Но все равно надо прописывать в preinclude файл определения типов. Заметил, что вызывая разные примеры, в настройках показывает разные версии компиляторов. Возможно версия компиляторов имеет значение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 25 июня, 2023 Опубликовано 25 июня, 2023 · Жалоба Установил CCS 12 версии. В главном файле примера подключен хидер где определены переменные extern __cregister volatile unsigned int IFR; extern __cregister volatile unsigned int IER; но компилятор дает ошибку Symbol 'IFR' could not be resolved . Не могу понять в чем же дело. Примеры фирменные. Может это из за виндовс? У меня стоит 7. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 55 25 июня, 2023 Опубликовано 25 июня, 2023 · Жалоба https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 25 июня, 2023 Опубликовано 25 июня, 2023 · Жалоба 2 часа назад, khlenar сказал: определены переменные extern __cregister volatile unsigned int IFR; extern __cregister volatile unsigned int IER; но компилятор дает ошибку Symbol 'IFR' could not be resolved . Не могу понять в чем же дело. Примеры фирменные. Может это из за виндовс? У меня стоит 7. из-за пятен на солнце... PS: Может всё-таки начать с освоения языка? си. Тогда и не понадобится колёса пинать...... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 26 июня, 2023 Опубликовано 26 июня, 2023 · Жалоба 7 часов назад, x893 сказал: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum Доступа нет. 6 часов назад, jcxz сказал: из-за пятен на солнце... PS: Может всё-таки начать с освоения языка? си. Тогда и не понадобится колёса пинать...... Язык я знаю. Разные версии IDE по разному ведут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 26 июня, 2023 Опубликовано 26 июня, 2023 · Жалоба В последнем случае ошибку дает из за ключевого слова "__cregister". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 26 июня, 2023 Опубликовано 26 июня, 2023 · Жалоба Когда сам собираешь проект, нормально компилирует. Спасибо. Буду разбираться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 26 июня, 2023 Опубликовано 26 июня, 2023 · Жалоба 5 часов назад, khlenar сказал: Язык я знаю. Очевидно что нет. Так как - то, что вы называете "определением переменных", таковым не является. Определение - оно без extern. То что у вас - это объявление. Оно говорит компилятору, что существует некая переменная с таким именем. И где-то она должна быть определена. Но этого определения нигде нет. И сообщение "Symbol could not be resolved" выдаётся компиляторами как раз при отсутствии определения объекта. И "разные версии IDE" тоже не при чём - все примерно так себя ведут и выдают примерно такое сообщение об ошибке. PS: Учите матчасть. Языка вы не знаете, даже самых основ. Оттого и бултыхаетесь в простом вопросе уже который день. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 26 июня, 2023 Опубликовано 26 июня, 2023 · Жалоба 5 минут назад, jcxz сказал: Очевидно что нет. Так как - то, что вы называете "определением переменных", таковым не является. Определение - оно без extern. То что у вас - это объявление. И сообщение "Symbol could not be resolved" выдаётся компиляторами как раз при отсутствии определения объекта. И "разные версии IDE" тоже не при чём - все примерно так себя ведут и выдают примерно такое сообщение об ошибке. PS: Учите матчасть. Языка вы не знаете, даже самых основ. Оттого и бултыхаетесь в простом вопросе уже который день. Под определения типа я называл первые ошибки в начале. Это typedef и т.д. Первый пост < компилятор выдает ошибку "Type 'Uint32' could not be resolved" > Да, объявление переменных. Перепутал. Если убрать ключевое слово "__cregister", то ошибка исчезает , это в 12 версии CCS. В 9 версии такой ошибки нет. Я спорить с вами не хочу. Свое мнение оставьте при себе... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 26 июня, 2023 Опубликовано 26 июня, 2023 · Жалоба 46 минут назад, khlenar сказал: Первый пост < компилятор выдает ошибку "Type 'Uint32' could not be resolved" > Да, объявление переменных. Перепутал. Там (в 1-м посте) не на "объявление переменных" ругань, а на отсутствие "объявления типа Uint32". Вы не понимаете разницы между типом и объектом данного типа (переменной). И валите всё в одну кучу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 61 26 июня, 2023 Опубликовано 26 июня, 2023 · Жалоба On 6/26/2023 at 10:48 AM, jcxz said: Очевидно что нет. Так как - то, что вы называете "определением переменных", таковым не является. Определение - оно без extern. То что у вас - это объявление. Оно говорит компилятору, что существует некая переменная с таким именем. И где-то она должна быть определена. Но этого определения нигде нет. И сообщение "Symbol could not be resolved" выдаётся компиляторами как раз при отсутствии определения объекта. И "разные версии IDE" тоже не при чём - все примерно так себя ведут и выдают примерно такое сообщение об ошибке. PS: Учите матчасть. Языка вы не знаете, даже самых основ. Оттого и бултыхаетесь в простом вопросе уже который день. Вообще-то в стандарте языка везде фигурирует термин declare, что переводится как объявление !!! Так что вопросы терминологии это к вам, а не к @khlenar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 26 июня, 2023 Опубликовано 26 июня, 2023 · Жалоба 9 минут назад, dimka76 сказал: Так что вопросы терминологии это к вам, а не к @khlenar И вам советую открыть учебник по си. Начните с этого: http://cppstudio.com/post/2647/#:~:text=Объявление предоставляет основные свойства символа,переменная%2C где эта переменная находится. Цитата: "Использование extern позволяет объявить переменную, не определяя ее, он сообщает, что переменная находится где-то в другом месте." Или вот от мелкософта: https://learn.microsoft.com/ru-ru/cpp/cpp/declarations-and-definitions-cpp?view=msvc-170 цитата: "объявления extern Программа C++ может содержать несколько единиц компиляции. Чтобы объявить сущность, определенную в отдельном блоке компиляции extern , используйте ключевое слово. Информации в объявлении достаточно для компилятора. Однако если определение сущности не удается найти на шаге связывания, компоновщик вызовет ошибку." Вот именно эту ошибку и видит ТС. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 26 июня, 2023 Опубликовано 26 июня, 2023 · Жалоба 12 минут назад, jcxz сказал: Там (в 1-м посте) не на "объявление переменных" ругань, а на отсутствие "объявления типа Uint32". Вы не понимаете разницы между типом и объектом данного типа (переменной). И валите всё в одну кучу. Объявление переменных это уже в последнем случае. extern __cregister volatile unsigned int IFR; extern __cregister volatile unsigned int IER; Я уже писал, это из за кл.слова __cregister Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 26 июня, 2023 Опубликовано 26 июня, 2023 · Жалоба 1 минуту назад, khlenar сказал: Объявление переменных это уже в последнем случае. extern __cregister volatile unsigned int IFR; именно так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться