首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预处理指令没有任何效果

预处理指令没有任何效果
EN

Stack Overflow用户
提问于 2012-06-28 09:07:19
回答 1查看 606关注 0票数 1

我在预处理指令方面遇到了技术上的困难:

代码语言:javascript
复制
#ifdef, #define  

我有一个由Makefile构建的程序,我有两个选项--两个构建:独立或嵌入式。

我做了这样的事:

代码语言:javascript
复制
#ifdef _mdimode_
   //code for embedded
#else
   //code for standalone (default)
#endif

在我的主文件中,当我以嵌入式方式编译时,我写了一个:

代码语言:javascript
复制
#define _mdimode_

但g++似乎不认识或理解它。它总是放在别处,从来不编译嵌入式版本的代码。

信息:

3.82

g++ (GCC) 4.6.1 20110908 (红帽4.6.1-9)

文件后缀:.C

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-28 10:57:41

如果没有更多的信息,这只是一个猜测。我假设代码在一个与主文件不同的文件中。如果是这样的话,那么#define就不会传播到项目的那个部分。您必须在包含代码的文件中或在其中包含#included的头中设置它。

还可以选择在编译命令的选项中设置#define

代码语言:javascript
复制
g++ -c -D_mdimode_ mycode.C
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11241352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档