Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用gedit/gcc在Ubuntu中创建一个C项目文件或多个开源文件我是新手,请指导我_C_Linux_Ubuntu_Gcc - Fatal编程技术网

如何使用gedit/gcc在Ubuntu中创建一个C项目文件或多个开源文件我是新手,请指导我

如何使用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

错误输出为

“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 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
,并结合目录结构——源文件通常放在subdir
src
中。另一个问题是您可能在
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,这样就不会混淆了。如果程序中没有声明求和,您需要在某个地方执行。