如何使用gedit/gcc在Ubuntu中创建一个C项目文件或多个开源文件我是新手,请指导我
错误输出为 “FunctionMain.c:(.text+0xdd):对'Sum'的未定义引用” collect2:错误:ld返回1退出状态“如何使用gedit/gcc在Ubuntu中创建一个C项目文件或多个开源文件我是新手,请指导我,c,linux,ubuntu,gcc,C,Linux,Ubuntu,Gcc,错误输出为 “FunctionMain.c:(.text+0xdd):对'Sum'的未定义引用” collect2:错误:ld返回1退出状态“ 在我的Main.c中,我有一个头文件,它将调用Sum reference thingy,但它似乎不起任何作用,伙计们?我想你忘了:#在Main.c中包含“filename.h”。我没有看到Sum(a,b)的声明,我建议你展示你的代码。只要在命令行上把你需要编译的所有文件串在一起,例如,gcc-Wall-Wextra-o exename Main.c ot
在我的Main.c中,我有一个头文件,它将调用Sum reference thingy,但它似乎不起任何作用,伙计们?我想你忘了:#在Main.c中包含“filename.h”。我没有看到Sum(a,b)的声明,我建议你展示你的代码。只要在命令行上把你需要编译的所有文件串在一起,例如,
gcc-Wall-Wextra-o exename Main.c other.c stillother.c-i/path/to/includes-L/path/to/libdir-lib1-lib2-Wl,传递给链接器的东西
省略你不需要的任何东西。在您的情况下,gcc-Wall-Wextra-o outname Main.c other.c
应该这样做。(如果省略-o outname
,默认情况下它将编译为a.out
)澄清:C只指定语言,没有项目的概念。所以你可以自由地组织它。传统的方法是使用make
构建Makefile
,并结合目录结构——源文件通常放在subdirsrc
中。另一个问题是您可能在FunctionMain.c
中的main()
下面声明/定义了Sum
,只需在代码中使用Sum
之前添加一个声明即可。在这种情况下,gcc-Wall-Wextra-o myexe FunctionMain.c
应该可以工作。在main.c中包含“Mathv1.h”#包含#include#include int main(){char op;int a,b,total;scanf(“%c”,&op);if(strhr(“+*-/%”,op))printf(“\n\n\n”);switch(op){case'+':f(“%d%d%d”,&a,&b);total=Sum(a,b);total=Sum(a,b);printf;break;ahm我之前使用了include“Mathv1.h”,我只是使用了filename.h,这样就不会混淆了。如果程序中没有声明求和,您需要在某个地方执行。