나의일 관련/Linux

antlr-2.7.7 설치 기록

천연사이다 2019. 1. 8. 14:43

./configure --prefix=/apps/common/antlr/2.7.7

make

make install


[오류 내용]

In file included from /apps/wa/build/common/antlr-2.7.7/lib/cpp/src/../../../lib/cpp/src/CharScanner.cpp:10:0:

/apps/wa/build/common/antlr-2.7.7/scripts/../lib/cpp/antlr/CharScanner.hpp:474:30: error: ‘EOF’ was not declared in this scope

  static const int EOF_CHAR = EOF;

                              ^

/apps/wa/build/common/antlr-2.7.7/scripts/../lib/cpp/antlr/CharScanner.hpp: In member function ‘bool antlr::CharScannerLiteralsLess::operator()(const string&, const string&) const’:

/apps/wa/build/common/antlr-2.7.7/scripts/../lib/cpp/antlr/CharScanner.hpp:565:41: error: ‘strcasecmp’ was not declared in this scope

   return (strcasecmp(x.c_str(),y.c_str())<0);

                                         ^


xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

                      >> E R R O R <<

============================================================


g++ -O2 -DNDEBUG -felide-constructors -pipe -c  -I . -I /apps/wa/build/common/antlr-2.7.7/scripts/../lib/cpp /apps/wa/build/common/antlr-2.7.7/lib/cpp/src/../../../lib/cpp/src/CharScanner.cpp

 

vi lib/cpp/antlr/CharScanner.hpp

[변경 전]

#include <antlr/config.hpp>


[변경 후]

#include <fstream>

#include <strings.h>  

#include <antlr/config.hpp>

#ifndef EOF

    #define EOF     std::ifstream::traits_type::eof()

#endif