C++ 建设一个C++;使用yacc和lex的CodeBlocks/Eclipse中的项目

C++ 建设一个C++;使用yacc和lex的CodeBlocks/Eclipse中的项目,c++,g++,makefile,yacc,C++,G++,Makefile,Yacc,我有下面的makefile,它运行良好,用于构建我的应用程序。如何配置IDE(比如,代码块、eclipse)来编译它。 当我尝试使用eclipse/codeblocks时,与yacc相关联的C/C++文件出现了一些错误。有没有办法让eclipse/codeblocks在构建/链接某些组件时直接使用对象文件,而不指定(包括在项目中)correponding.cc文件? 如果是这样,我可以直接使用y.tab.o和lex.yy.o,因为它们在我的项目中没有改变 CC = g++ -O2 -Wno-de

我有下面的makefile,它运行良好,用于构建我的应用程序。如何配置IDE(比如,代码块、eclipse)来编译它。 当我尝试使用eclipse/codeblocks时,与yacc相关联的C/C++文件出现了一些错误。有没有办法让eclipse/codeblocks在构建/链接某些组件时直接使用对象文件,而不指定(包括在项目中)correponding.cc文件? 如果是这样,我可以直接使用
y.tab.o
lex.yy.o
,因为它们在我的项目中没有改变

CC = g++ -O2 -Wno-deprecated 

tag = -i

ifdef linux
tag = -n
endif

main.out: Sentence.o XOperation.o XOperationEngine.o Schema.o Doc.o TaskMan.o y.tab.o lex.yy.o test.o
    $(CC) -o main.out Sentence.o XOperation.o XOperationEngine.o Schema.o Doc.o TaskMan.o y.tab.o lex.yy.o test.o -lfl

main.o: main.cc
    $(CC) -g -c main.cc

XOperation.o: XOperation.cc
    $(CC) -g -c XOperation.cc

XOperationEngine.o: XOperationEngine.cc
    $(CC) -g -c XOperationEngine.cc

TaskMan.o: TaskMan.cc
    $(CC) -g -c TaskMan.cc

Doc.o: Doc.cc
    $(CC) -g -c Doc.cc

Sentence.o: Sentence.cc
    $(CC) -g -c Sentence.cc

Schema.o: Schema.cc
    $(CC) -g -c Schema.cc

y.tab.o: Parser.y
    yacc -d Parser.y
    sed $(tag) y.tab.c -e "s/  __attribute__ ((__unused__))$$/# ifndef __cplusplus\n  __attribute__ ((__unused__));\n# endif/" 
    g++ -c y.tab.c

lex.yy.o: Lexer.l
    lex  Lexer.l
    gcc  -c lex.yy.c

clean: 
    rm -f *.o
    rm -f *.out
    rm -f y.tab.c
    rm -f lex.yy.c
    rm -f y.tab.h

如果您已经有了Makefile,那么可以在Eclipse中使用“Makefile项目”。在这种情况下,Eclipse将使用“make”而不是内部生成器来构建项目