【问题标题】:Can not find <iostream> when using it in a .y file in Xcode在 Xcode 的 .y 文件中使用时找不到 <iostream>
【发布时间】:2012-03-30 17:00:50
【问题描述】:

我是 Xcode 的新手,我正在尝试将使用 g++ an bison 在 win32 cygwin 中编译的 c++ 应用程序迁移到 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.build/Debug/SimpleYACC.build/Objects-normal/x86_64/Simple.tab.o /Users/brendanbosman /Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/Intermediates/SimpleYACC.build/Debug/SimpleYACC.build/DerivedSources/Simple.tab.c 正常 x86_64 c com.apple.compilers.llvm.clang.1_0.compiler 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-trigraphs -fpascal-strings -O0 -Wno-missing-field-初始化器 -Wmissing-prototypes -Wreturn-type -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-compare -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-declarations -mmacosx-version-min=10.7 -g -Wno-conversion -Wno-符号转换-iquote /Users/brendanbosman/Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/Intermediates/SimpleYACC.build/Debug/SimpleYACC.build/SimpleYACC-generated-files.hmap -I/Users/brendanbosman/库/开发人员/Xcode/派生数据/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/Intermediates/SimpleYACC.build/Debug/SimpleYACC.build/SimpleYACC-own-target-headers.hmap -I/Users/brendanbosman/Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/中间体/SimpleYACC.build/Debug/SimpleYACC.build/SimpleYACC-all-target-headers.hmap -iquote /Users/brendanbosman/Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/Intermediates/SimpleYACC.build/Debug/ SimpleYACC.build/SimpleYACC-project-headers.hmap -I/Users/brendanbosman/Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/Products/Debug/include -I/Users/brendanbosman/Library/Developer/Xcode/ DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/Intermediates/SimpleYACC.build/Debug/SimpleYACC.build/DerivedSources/x86_64 -I/Users/brendanbosman/Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/Intermediates/SimpleYACC。调试/SimpleYACC.build/D erivedSources -F/Users/brendanbosman/Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/Products/Debug -MMD -MT 依赖项 -MF /Users/brendanbosman/Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build /Intermediates/SimpleYACC.build/Debug/SimpleYACC.build/Objects-normal/x86_64/Simple.tab.d --serialize-diagnostics /Users/brendanbosman/Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/Intermediates/ SimpleYACC.build/Debug/SimpleYACC.build/Objects-normal/x86_64/Simple.tab.dia -c /Users/brendanbosman/Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/Intermediates/SimpleYACC.build/Debug/ SimpleYACC.build/DerivedSources/Simple.tab.c -o /Users/brendanbosman/Library/Developer/Xcode/DerivedData/SimpleYACC-dglitxihrkprgndyxanispqjpbmc/Build/Intermediates/SimpleYACC.build/Debug/SimpleYACC.build/Objects-normal/x86_64/ Simple.tab.o

/Source Code/SimpleYACC/SimpleYACC/Simple.y:6:14: 致命错误: 'iostream' 文件未找到 #包括 ^ 产生 1 个错误。

我对这个错误不太了解,为什么我失踪了 >

非常感谢任何帮助

布伦丹

【问题讨论】:

  • 我修正了你的代码格式。当您将代码放入编号列表时,您必须从列表的对齐位置缩进四个空格,而不是四个绝对空格。你没有注意到代码看起来很糟糕吗?
  • 我做过,但不知道如何,将阅读此内容

标签: xcode yacc


【解决方案1】:

您在 C 源代码中包含一个 C++ 头文件。 Bison 生成一个 C 程序。如果您想生成 C++ 解析器,请查看 Bison 手册中的 Parsers Written in Other Languages 部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-10
    • 2020-02-02
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    相关资源
    最近更新 更多