0

我创建了一个动态链接库。我唯一的问题是我的主程序无法识别我的头文件。头文件位于与我的主程序不同的文件夹中。我试过#include "myheader.h"#include "/folder/dir/myheader.h"

这是我的 .h 包含的内容

    extern int afunction(int,int);
    extern int afunction(int,int);

到目前为止,此代码有效

    gcc -fPIC -c filename1.c
    gcc -fPIC -c filename2.c

    gcc -shared -o libMylib.so filename1.o filename2.o

然后我将 lib 复制到/usr/local/lib, 然后

    gcc main.c -L. -lMylib -o exeName -ldl

我得到

    " myheader.h : no such file or directory.

这是我的目录结构:

directory1 ----------------folder1(主程序.c)

directory1 ----------------folder2(myheader.h,以及 pgm 的函数)

朝着正确的方向前进会有所帮助,因为我已经编写了所有代码,而且我正处于最后阶段。

4

2 回答 2

3

你需要gcc ... -I<some directory to myheader.h>. 这将使编译器能够找到头文件。

于 2012-05-03T22:46:05.020 回答
1

您可以将 lib 头文件与当前程序放在同一个文件夹中。

或像@Ed Heal 所说的那样......添加-I<path>包含头文件夹。

于 2012-05-04T08:36:01.037 回答