【发布时间】:2014-06-03 20:53:17
【问题描述】:
项目目录 /lib/mytest.c 中的一个文件包含用于测试目的的条件 main
#ifdef TEST
int main(int argc, char *argv[])
#endif
所以要测试我在configure.ac文件中添加的代码
AC_DEFINE(TEST, 1,[My description for TEST])
还有其他包含 mytest.h 的文件。当我尝试 autoreconf 然后 ./configure 然后 make 我在 gcc 中得到以下错误:
multiple definition of `main'
这是可以理解的,因为包括 mytest.h 在内的文件中也有 main 函数。我想有一个独立的 mytest 程序用于测试目的。
如何构建项目?我需要在配置和制作文件中进行哪些更改?
谢谢。
【问题讨论】:
-
........because the files including mytest.h also have main functions in them你的头文件mytest.h还包含main函数?我不明白。 -
no mytest.h 在包含文件夹中并且不包含任何主文件。还有其他包含 mytest.h 的源文件。
-
好的,那么你在不同文件中的其他主要功能(除了
mytest.c),对吧?如果是这样,那么如果某些条件为真,您是否还设置了条件以启用main。 -
其他.c文件中没有main函数不是有条件的。
-
所以如果你的宏
TEST被定义了就会发生冲突。尝试在你的other.c文件中为main提供相反的条件。
标签: c makefile configure autoconf automake