回 帖 发 新 帖 刷新版面

主题:C:B, 在一个工程下想编译第二个文件老是提示MAIN重定义,这怎么整啊

难道CB编译只能以一个工程为单位么。

回复列表 (共3个回复)

沙发

不知道你在说什么,也不知道你在用什么工具或IDE。任何IDE都是一个编辑器、编译器、调试器、连接器和其它工具的集合,只不过自动化程度不同。

举个例子吧,我想在Win32上用g++编译12种排序,有12个main,需要生成12个可执行文件,只有g++(gcc)那同样也是无需逐个打开每个文件用命令行去编译的,可以写个简单的bat文件执行一次就OK了。

如果一个工程很大(下面很多文件夹和子文件夹)但只有一个或多个公共的main,可以用make(gcc)或nmake(VC++自带),如果你做嵌入式可能会用jam.例如,我们现在做的软件源代码量超过2百万行,就需要make,每个目录下都有一个makefile,请查阅一下make的用法文档。

如果你懒得自己配置那么多东西,也懒得去理会怎么一个编译连接过程,那用VC++就是了,VC++都给你集成在一起了。不过用习惯了VC++,一旦上Linux或类Unix系统那几乎就更睁眼瞎没啥两样。

项目做大了,功能多了,源代码多了,你还免不了弄懂怎么makefile的。无论用VC++还是gcc

板凳

CB是Code::Blocks么?

3 楼

就是以工程为单位的。你如果是两个不同程序,就用不同的工程。

在一个工程里只能有一个main函数,正如正常的程序只能有一个入口一样。

我来回复

您尚未登录,请登录后再回复。点此登录或注册