- 论坛徽章:
- 1
|
今天需要准备在Makefile中增加一个变量 方便其他同事进行 功能控制,可是宏定义死活在代码判断失败 ,大概如下面的代码 不论有没有配置都是显示 define ABC, 后来想了想会不会是符号冲突了 换过几个 也是同样的问题。。很困扰....- #ifdef ABC
- printf ("define ABC\n");
- #else
- printf ("Undefine ABC\n");
- #endif
复制代码 后来我自己写个测试程序吧,如下test.c :- #include <stdio.h>
- int TEST (void)
- {
- #ifdef ABC
- printf ("Define ABC\n");
- #else
- printf ("UnDefine ABC\n");
- #endif
- return 0;
- }
复制代码 arm-linux-gcc -c test.c -fPIC -DABC
arm-linux-gcc -shared test.o -o libtest.so
调用程序如下:- #include <stdio.h>
- extern int TEST(void);
- int main (void)
- {
- TEST();
- return 0;
- }
复制代码 arm-linux-gcc main.c -o define_test -L . -ltest
通过增加和关闭 -DABC 确实起到了作用。
但是同样的方式添加到了 项目里面就出了问题, 实在是很恶心 找不到头绪,有没有遇到的朋友, 给指点一下 哪里可能出问题。。。谢谢
|
|