![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
Rocket |
![]()
Сообщение
#1
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Правый клик на MyComputer (ну, или Мой Компьютер, как он там у тебя называется?) и Properties/Свойства, переходишь на вкладку Advanced/Дополнительно, а дальше по скриншоту видно, что делать... Во-первых, пока не добавишь путь в переменную Path - так и будет... А во-вторых, я совсем не уверен, что кириллица в пути допустима, попробуй поменять название папки на латинское (когда пути настроишь, и если тогда не получится линковка). Наконц-то добился компиляции) ТОлько вот такого рода ошибки возникли: Цитата F:\3course\tvp\lex.yy.o:lex.yy.c:(.text+0x33d)||undefined reference to `_yywrap'| F:\3course\tvp\lex.yy.o:lex.yy.c:(.text+0xa15)||undefined reference to `_yywrap'| F:\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\libmingw32.a(main.o):main.c:(.text+0x104)||undefined reference to `_WinMain@16'| ||=== Build finished: 3 errors, 0 warnings ===| Что они означают? volvo, а Вы вообще имели опыт работы с flex'ом ? |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Исходник засекречен?
![]() У тебя определенно чего-то не хватает. Или не подключен какой-то C-файл, или H-файл... Ну, и библиотека, разумеется, тоже не подключена, о чем говорит ошибка Линкера. |
Rocket |
![]()
Сообщение
#3
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Исходник засекречен? ![]() У тебя определенно чего-то не хватает. Или не подключен какой-то C-файл, или H-файл... Ну, и библиотека, разумеется, тоже не подключена, о чем говорит ошибка Линкера. Я пишу программу распознования символов для идентификатора, который имеет следующий вид: letter (letter | digit)* Программа для flex'а имеет следующий вид: Цитата letter [a-z] digit [0-9] symbol [ ,./<>?;':"{}!@#$%^&*()_+=-] error ({digit}|{symbol})({letter}|{symbol}|{digit})* identifier {letter}({letter}|{digit})* %% {error} {printf("error %s",yytext);} {identifier} {printf("identifier %s",yytext);} %% Готовый с-шный файл также прикрепил... Чего не хватает для компиляции? И поле error ({digit}|{symbol})({letter}|{symbol}|{digit})*, что означает и как его получить? p.s. Спасибо,volvo, что разделили темы) Сообщение отредактировано: Rocket - 27.05.2009 14:20 |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата Готовый с-шный файл также прикрепил... Куда, можно поинтересоваться? ![]() Рассказываю с нуля, что сделал с твоим кодом, приведенным выше: 1) сохранил его в файл с именем test.lex в папку, куда установлен Flex (у меня - D:\Program Files\GnuWin32\bin) 2) запустил команду D:\Program Files\GnuWin32\bin>flex test.lex 3) этот файл lex.yy.c подключил к проекту CodeBlocks (единственный файл) 4) зашел в Project->Build Options->(вкладка)Linker Settings, под листбоксом "Link Libraries" есть кнопка Add, с ее помощью добавил к проекту библиотеку D:\Program Files\GnuWin32\lib\libfl.a, нажал Ok, собрал проект Ctrl+F9... Никаких ошибок не возникло, создался EXE-файл. Что я делаю не так? |
Rocket |
![]()
Сообщение
#5
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Куда, можно поинтересоваться? ![]() Рассказываю с нуля, что сделал с твоим кодом, приведенным выше: 1) сохранил его в файл с именем test.lex в папку, куда установлен Flex (у меня - D:\Program Files\GnuWin32\bin) 2) запустил команду D:\Program Files\GnuWin32\bin>flex test.lex 3) этот файл lex.yy.c подключил к проекту CodeBlocks (единственный файл) 4) зашел в Project->Build Options->(вкладка)Linker Settings, под листбоксом "Link Libraries" есть кнопка Add, с ее помощью добавил к проекту библиотеку D:\Program Files\GnuWin32\lib\libfl.a, нажал Ok, собрал проект Ctrl+F9... Никаких ошибок не возникло, создался EXE-файл. Что я делаю не так? А где можно взять эту библиотеку? у меня её нет... p.s. Прикреплять с-шный файл уже нет смысла) |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
У тебя установлен Flex вообще? Вот отсюда качается установщик под Windows (1.3 Мб):
Прямая ссылка Если установлен - то в его папке \lib |
Rocket |
![]()
Сообщение
#7
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
У тебя установлен Flex вообще? Вот отсюда качается установщик под Windows (1.3 Мб): Прямая ссылка Если установлен - то в его папке \lib У меня просто файл flex.exe, его и использовал... |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Просто файла недостаточно, ты с его помощью можешь (скорее всего) получить C-файл, но вот откомпилировать ты его уже не сможешь, нужна библиотека, причем версии, подходящей к этому же flex.exe. Они ж постоянно меняются, что-то добавляется, что-то убирается...
|
Rocket |
![]()
Сообщение
#9
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Просто файла недостаточно, ты с его помощью можешь (скорее всего) получить C-файл, но вот откомпилировать ты его уже не сможешь, нужна библиотека, причем версии, подходящей к этому же flex.exe. Они ж постоянно меняются, что-то добавляется, что-то убирается... Добавил к проекту библиотеку - всё заработало) И всё-таки, вот такое объявление error ({digit}|{symbol})({letter}|{symbol}|{digit})*, что означает? volvo, Вы не могли дать ссылочку набодобие как на flex, только на bison, чтоб тоже с библиотеками?.. |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Установщик Бизона для Windows лежит здесь
Цитата такое объявление error ({digit}|{symbol})({letter}|{symbol}|{digit})*, что означает? Это регулярное выражение, которое определяет, что считать ошибкой. Подробнее о разборе регулярок - здесь: Flex Doc -> 6. Patterns |
Rocket |
![]()
Сообщение
#11
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Установщик Бизона для Windows лежит здесь Это регулярное выражение, которое определяет, что считать ошибкой. Подробнее о разборе регулярок - здесь: Flex Doc -> 6. Patterns volvo, большое спасибо за ссылки - бизон и мануал пригодились) |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 20:51 |