Не удается найти <iostream>при использовании его в файле .y в Xcode - PullRequest
0 голосов
/ 30 марта 2012

Я новичок в Xcode и пытаюсь перенести приложение на c ++, которое компилируется в win32 cygwin с использованием g ++ и зубра в Xcode.

Я действительно искал информацию на сайте, прежде чем задавать вопрос

У меня были проблемы с самого начала, я сократил их до следующего. Это мои шаги:

  1. Создайте новое консольное приложение в Xcode
  2. Это приложение C ++, без автоматического подсчета ссылок
  3. Файл main.cpp создан
  4. Закомментируйте основную процедуру
  5. Создать новый файл, simpleYACC.y
  6. Скопируйте в файл .y следующее:

    %{
        #include <iostream>
        //
        int yylex (void);    
        void yyerror (char const *);
    %}
    
    %token NUM
    
    %%
    exp:;
    %%
    
    int yylex (void)
    {
        return 0;
    }
    
    void
    yyerror (char const *s)
    {
    
    }
    
    int main (void)
    {
        return yyparse ();
    }
    
  7. Попытка его построить

  8. Получение следующей ошибки:

CompileC /Users/brendanbosman/Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/Intermediates/SimpleYACC. /Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/Intermediates/SimpleYACC.build/Debug/SimpleYACC.build/DerivedSources/Simplele.m.cp. CD "/ Исходный код / ​​SimpleYACC" setenv LANG en_US.US-ASCII/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -xc -arch x86_64 -fmessage-length = 0 -Wno-триграфы -fpascal-strings -O0 -Wno-missing-field-инициализаторы -Wmissing-прототипы -Wreturn-тип -Wformat -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-неинициализированный -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-sign-сравнить -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -DDEBUG = 1 -isysroot /Applications / Xcode.app / Contents / Developer / Platforms / MacOSX.platform / Developer / SDKs / MacOSX10.7.sdk -fasm-blocks -Wdeprecated-декларации -mmacosx-версия-min = 10,7 -g -Wno-преобразование -Wno-Преобразование знакаБиблиотека / Разработчик / Xcode / DerivedData / SimpleYACC-dglitxihrkprgndyxanispqjpbmc / Build / Intermediates / SimpleYACC.build / Debug / SimpleYACC.build / SimpleYACC-own-target-headers.hmap -I / Пользователи / brendanbosman / Библиотека / Разработчик / XCode / BuildACDIxDYKDYDXDYGDYGDYGDYGDYGDYGDYGDYGDПромежуточные звенья / SimpleYACC.build / Debug / SimpleYACC.build / SimpleYACC-all-target-headers.hmap -iquote /Users/brendanbosman/Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanildpYD/Dac/YD/DyBySQBSSimpleYACC.build/SimpleYACC-project-headers.hmap -I / Пользователи / brendanbosman / Библиотека / Разработчик / Xcode / DerivedData / SimpleYACC-dglitxihrkprgndyxanispqjpbmc / Сборка / Продукты / Отладка / include -I / Пользователи / brendanboscodeDerivedData / SimpleYACC-dglitxihrkprgndyxanispqjpbmc / Build / полупродукты / SimpleYACC.build / Debug / SimpleYACC.build / DerivedSources / x86_64 -I / Users / brendanbosman / Library / Developer / Xcode / DerivedData / SimpleYACC-dglitxihrkprgndyxanispqjpbmc / Build / полупродукты / SimpleYACC.build /Debug / SimpleYACC.build / DerivedSources -F / Users / brendanbosman / Library / Developer / Xcode / DerivedData / SimpleYACC-dglitxihrkprgndyxanispqjpbmc / Build / Products / Debug -MMD -mt зависимостей -м / Users / brendanbosman / Library / Developer / Xcode / DerivedData / SimpleYACC-dglitxihrkprgndyxanispqjpbmc / Строительные/Intermediates/SimpleYACC.build/Debug/SimpleYACC.build/Objects-normal/x86_64/Simple.tab.d --serialize -одиагностика / Пользователи / brendanbosman / Библиотека / Разработчик / Xcode / DerivedData / SimpleYACC-dglitxihrkmp / BugjpxjpxjpSimpleYACC.build/Debug/SimpleYACC.SimpleYACC.build/DerivedSources/Simple.tab.c -o /Users/brendanbosman/Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/Intermediates/SimpbuOACYyACyCyDyDyDyDyDyDyDyDyDyDyDyDyR0Simple.tab.o

/ Исходный код / ​​SimpleYACC / SimpleYACC / SImple.y: 6: 14: Неустранимая ошибка: файл 'iostream' не найден1035 * Буду очень признателен за любую помощь

Брендан

1 Ответ

1 голос
/ 01 апреля 2012

Вы включаете заголовочный файл C ++ в C source.Бизон генерирует программу на Си.Если вы хотите сгенерировать синтаксический анализатор C ++, взгляните на руководство Bison в разделе Парсеры, написанные на других языках .

...