主题:C:B, 在一个工程下想编译第二个文件老是提示MAIN重定义,这怎么整啊
cll121
[专家分:0] 发布于 2011-09-21 11:51:00
难道CB编译只能以一个工程为单位么。
回复列表 (共3个回复)
沙发
Chipset [专家分:16190] 发布于 2011-09-21 14:34:00
不知道你在说什么,也不知道你在用什么工具或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
板凳
eastcowboy [专家分:25370] 发布于 2011-09-21 19:07:00
CB是Code::Blocks么?
3 楼
cgl_lgs [专家分:21040] 发布于 2011-09-22 10:02:00
就是以工程为单位的。你如果是两个不同程序,就用不同的工程。
在一个工程里只能有一个main函数,正如正常的程序只能有一个入口一样。
我来回复