【发布时间】:2013-02-01 21:12:54
【问题描述】:
我用文件pila.h 和pila.c 创建了一个库。我用gcc pila.c -c 编译文件pila.c,这个库工作正常。我已经测试过了。
然后我制作了另一个库。这个库有文件pila_funciones_extra.h 和pila_funciones_extra.c。在这个库中,我需要包含第一个库。在文件pila_funciones_extra.h 中,我将下一行包含在内:
#include "pila.h"
在文件pila_funciones_extra.c我放了下一行:
#include "pila_funciones_extra.h"
必须如此。
但是当我尝试编译文件pila_funciones_extra.c 时,编译器无法识别库pila 的包含。它表示库pila 中定义的函数、结构、常量和宏尚未定义。
我尝试用gcc pila_funciones_extra.c -c 和gcc pila_funciones_extra.c -c pila.o 编译它,但它不起作用。
我确保所有文件都在同一个文件夹中。
我正在开发 Ubuntu。
谁能告诉我正确的编译方法?
【问题讨论】:
-
请发布您遇到的 exact 编译器错误(编译行 + 前 5-10 行输出)。
-
你在编译
pila_funciones_extra.c的时候有没有使用-l pila.o这个标志? -
您是否使用了任何包含防护?
#ifndef's?例如,如果你在两个标题中使用相同的,那么只有_extra.h会被添加。 -
总之,花点时间了解一下
make
标签: c gcc compilation include libraries