我创建了一个动态链接库。我唯一的问题是我的主程序无法识别我的头文件。头文件位于与我的主程序不同的文件夹中。我试过 #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)
目录 1 ----------------文件夹 2(myheader.h,以及 pgm 的函数)
朝着正确的方向前进会有所帮助,因为我已经编写了所有代码,而我正处于最后阶段。
最佳答案
你需要gcc ... -I<some directory to myheader.h>
.这将使编译器能够找到头文件。
关于C 头文件和动态链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10440310/