1 / 1 / 1
Регистрация: 11.04.2018
Сообщений: 45
|
||||||
1 | ||||||
Парсер14.01.2019, 20:22. Показов 1725. Ответов 15
Метки нет (Все метки)
Здравствуйте, уважаемые программисты!
в книге нашла код анализатора выражений, но не получается его скомпилировать. Не могу понять почему, так как выходят ошибки, типа Серьезность Код Описание Проект Файл Строка Состояние подавления Ошибка LNK2001 эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы ""char * prog" (?prog@@3PEADEA)"
0
|
14.01.2019, 20:22 | |
Ответы с готовыми решениями:
15
Парсер Парсер Парсер Парсер |
223 / 188 / 97
Регистрация: 15.04.2018
Сообщений: 718
|
|
14.01.2019, 20:29 | 2 |
код написан под c++17 стандарт. Возможно ваш компилятор не поддерживает его и ругается. Для того, чтобы всё заработало нужно установить новый компилятор, либо даже новую IDE. Для того, чтобы лучше понять что не так напишите в чем вы разрабатываете и какой у вас компилятор
0
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
|
14.01.2019, 20:39 | 3 |
На основании чего сделаны такие выводы?
Код не является полным: все, что объявлено со спецификатором extern должно быть описано где-то в другой части программы, функция main() отсутствует. Возможно, это один из файлов исходного кода большого проекта.
0
|
223 / 188 / 97
Регистрация: 15.04.2018
Сообщений: 718
|
|
14.01.2019, 20:41 | 4 |
valen10, используется
register Upd: виноват, плохо вчитался в выхлоп Qt Creator + MinGW
0
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
|
14.01.2019, 20:45 | 5 |
Этот спецификатор существует еще со времён языка Си. Подсказывает компилятору разместить переменную в регистре, но компилятор не обязан этому следовать. А вот начиная с C++17 этот спецификатор объявлен устаревшим.
0
|
223 / 188 / 97
Регистрация: 15.04.2018
Сообщений: 718
|
|
14.01.2019, 20:46 | 6 |
0
|
1 / 1 / 1
Регистрация: 11.04.2018
Сообщений: 45
|
||||||
14.01.2019, 21:25 [ТС] | 7 | |||||
mvngr, у меня стоит Visual Studio 2017
Добавлено через 2 минуты valen10, там есть только еще один файл, но это уже другая часть.
0
|
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
|
|
14.01.2019, 21:35 | 8 |
Чистейший С++ а-ля 98. Никаких C++17 не вижу.
Компилер ругается только на небезопасные строковые и символьные функции. Заменить на безопасные версии и всё должно пройти.
0
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
|
14.01.2019, 21:42 | 9 |
В самой книге что по этому поводу сказано? Скажите пожалуйста название книги, если это не секрет.
0
|
1 / 1 / 1
Регистрация: 11.04.2018
Сообщений: 45
|
|
14.01.2019, 21:46 [ТС] | 10 |
jugu, это то, что касается второй программы, которую я кинула. Там я все меняла.
Я про нее и не спрашивала, но первая не проходит. Я не понимаю, что там поменять надо Добавлено через 28 секунд valen10, Фридман и др. "Архив программ" Добавлено через 56 секунд valen10, если я ничего не пропустила, то ничего не сказано, поэтому и не понимаю.
0
|
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
|
|
14.01.2019, 21:52 | 11 |
0
|
1 / 1 / 1
Регистрация: 11.04.2018
Сообщений: 45
|
|
14.01.2019, 21:58 [ТС] | 12 |
jugu, да, main не представлен, в книге его нет, но ведь помимо этого там 10 ошибок, как минимум, которые не касаются того, что нет точки входа.
0
|
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
|
|
14.01.2019, 22:03 | 13 |
Вставил ваш код в пустой консольный проект. Скриншот во вложении... Всё скомпилилось нормально с парой предупреждений о register.
0
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
|
14.01.2019, 22:16 | 14 |
Сообщение было отмечено valery7 как решение
Решение
valery7, судя по тексту в книге, оба этих файла являются частями общего проекта, и ни один из них не является самостоятельным. Оба файла необходимо добавить в проект для успешной сборки.
В подтверждение этого сравним их содержимое. В одном из них (SBPARSER.CPP) объявлен набор функций и набор переменных со спецификатором extern, функции main() тут нет и без нее не получится собрать исполняемый модуль. Сами эти переменные описаны в другом файле (SBASIC.CPP), там же вызываются эти функции. Без первого файла с его определением функций собрать исполняемый модуль тоже не выйдет.
1
|
1 / 1 / 1
Регистрация: 11.04.2018
Сообщений: 45
|
|
14.01.2019, 22:18 [ТС] | 15 |
Я тоже загружала в пустой проект, вот так у меня
0
|
1 / 1 / 1
Регистрация: 11.04.2018
Сообщений: 45
|
|
14.01.2019, 22:22 [ТС] | 16 |
valen10, прошу прощения. Не внимательно прочла..
Вопрос закрыт. Все успешно скомпилировалось.
0
|
14.01.2019, 22:22 | |
14.01.2019, 22:22 | |
Помогаю со студенческими работами здесь
16
парсер Парсер с нуля Наипростейший парсер Парсер паскаля Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |