c: 使用另一个项目的函数
c: use functions from another project
我在另一个项目(项目 2)中有一些有用的功能,但不想将它们全部复制并粘贴到我当前正在处理的项目(项目一)中的文件中。我试过在项目一中制作并包含一个头文件,但没有成功。我是否必须将项目 1 复制粘贴到项目 2 中?我的 IDE 是 codelite。
谢谢<3
编辑:我的头文件名为 hewwo.h,代码为
extern int readln(char[], int);
extern int searchstring(char[], char[]);
此文件在项目 1 中。
在项目 1 main.c 的顶部我有
#include < stdio.h> #include <stdlib.h> #include <string.h> #include "hewwo.h"
我正在尝试使用 main.c 中的 readln 函数,它抛出了一个 "undefined symbols" 错误
您收到错误的原因是因为通过头文件中的函数声明,您告诉编译器此函数存在于某处,而它不关心位置。因此它可以编译,但不存在指向实际函数实现的链接。您需要通过静态或动态链接库引入实现。
我在另一个项目(项目 2)中有一些有用的功能,但不想将它们全部复制并粘贴到我当前正在处理的项目(项目一)中的文件中。我试过在项目一中制作并包含一个头文件,但没有成功。我是否必须将项目 1 复制粘贴到项目 2 中?我的 IDE 是 codelite。 谢谢<3
编辑:我的头文件名为 hewwo.h,代码为
extern int readln(char[], int);
extern int searchstring(char[], char[]);
此文件在项目 1 中。
在项目 1 main.c 的顶部我有
#include < stdio.h> #include <stdlib.h> #include <string.h> #include "hewwo.h"
我正在尝试使用 main.c 中的 readln 函数,它抛出了一个 "undefined symbols" 错误
您收到错误的原因是因为通过头文件中的函数声明,您告诉编译器此函数存在于某处,而它不关心位置。因此它可以编译,但不存在指向实际函数实现的链接。您需要通过静态或动态链接库引入实现。