我在预处理指令方面遇到了技术上的困难:
#ifdef, #define 我有一个由Makefile构建的程序,我有两个选项--两个构建:独立或嵌入式。
我做了这样的事:
#ifdef _mdimode_
//code for embedded
#else
//code for standalone (default)
#endif在我的主文件中,当我以嵌入式方式编译时,我写了一个:
#define _mdimode_但g++似乎不认识或理解它。它总是放在别处,从来不编译嵌入式版本的代码。
信息:
3.82
g++ (GCC) 4.6.1 20110908 (红帽4.6.1-9)
文件后缀:.C
发布于 2012-06-28 10:57:41
如果没有更多的信息,这只是一个猜测。我假设代码在一个与主文件不同的文件中。如果是这样的话,那么#define就不会传播到项目的那个部分。您必须在包含代码的文件中或在其中包含#included的头中设置它。
还可以选择在编译命令的选项中设置#define:
g++ -c -D_mdimode_ mycode.Chttps://stackoverflow.com/questions/11241352
复制相似问题