C 头文件和动态链接错误

标签 c header-files dynamic-library

我创建了一个动态链接库。我唯一的问题是我的主程序无法识别我的头文件。头文件位于与我的主程序不同的文件夹中。我试过 #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/

相关文章:

c++ - Vector.h 头文件(使用 Stanford C 库)已损坏或无法使用

c - 如何向libnl发送单 channel 扫描请求,并接收相应 channel 的单 channel 扫描完成响应

c - 如何解决这个linux定时器错误

objective-c - 防止 Xcode 在新 header 上创建 NS_ASSUME_NONNULL_BEGIN 和 NS_ASSUME_NONNULL_END

c - Mac .dylib 链接找不到 header

g++ - Eclipse 管理同时使用静态和动态链接库进行制作

c++ - 在 Visual Studio 中使用 C++ 构建 Linux .so 库需要什么

c - 无法使用 C30 编译器复制 PIC24FJ256GB206 中的数组

c - 访问非空结构成员时出现段错误-

c++ - 导出 DLL - 删除头文件