1.codeblock 怎么把多个文件连在一起
首先创建一个工程
然后导入你的文件(工程名上单击右键,add files)
写一个.h文件,把函数名和库放进去,比如下面:
2.codeblock 使用自己的makefile
还以上面为例,建一个makefile文件:
add: add.h main.cpp add.cpp
g++ main.cpp add.cpp -o add
clean:
rm -f add
然后项目上右键,properties
我这里创建时候默认了扩展名,没注意,后面去掉了,makefile文件应该没有扩展名
再项目右键,选build options
删成我图上这样
然后编译就是你的makefile了
3.编译错误
multiple definition of `addnum(int, int)’|
||error: ld returned 1 exit status|
Makefile|2|recipe for target ‘add’ failed|
这个其实不是代码有错,而是你有重复定义的东西,比如我这个multiple definition of `addnum(int, int)’|,就是这个函数重定义了,如图:
删去一个就可以了
4.上面那个报错不显示哪里重复?
点开build log,非常清楚重复的文件和定义
5.全局变量不能删,加上重复怎么办?
这里以一个结构体为例在一个文件中我们可以这样写,但分文件不可以
看下报错
因为我们都引入了add.h,所以相当于这个结构体多次定义,报错
那么要解决这个问题,需要在头文件用到extern,定义在主函数中(extern这里不做解释,请自行搜索),简单来说就是告诉别的程序有这样一个全局变量,你去主函数文件找它
然后将程序改为这个样子:
可以看到编译成功,全局变量同理
自己摸索终于成功,如果你还有别的问题可以在评论区探讨(水平不行回答不出请谅解)