g ++ -D flag将定义添加到对象文件

时间:2015-11-10 06:07:12

标签: c++ linker g++

好的,我刚刚开始在g ++编译器中使用-D标志以不同的方式编译代码。

但是我遇到了使用-D标志编译一个文件的问题,我需要继续在后续文件中使用它。

例如我有2个文件:

sardine.hpp sardine.cpp

并且两个文件都包含以下部分:

  #ifdef PLANKTON
  #endif

然后我使用:

编译它
g++ -c -D PLANKTON sardine.cpp -o sardine.o

如果我想在另一个编译中使用链接,为了使代码工作,我将不得不再次使用D标志(据我所知),例如:

g++ -D PLANKTON tuna.cpp sardine.o -o tuna

有没有办法在编译时永久添加一个定义?这样我下次编译时就不必添加-D标志了吗?

抱歉,如果我错过了一些东西:'(

谢谢!

1 个答案:

答案 0 :(得分:1)

我会使用makefile。您可以在那里定义编译并设置标志,这样您就不必每次都输入所有内容。

查看本教程:

https://www.cs.umd.edu/class/fall2002/cmsc214/Tutorial/makefile.html