首页 新闻 会员 周边

Visual studio 2010 编译多个C文件出现一些问题。

0
悬赏园豆:5 [已解决问题] 解决于 2012-07-05 09:17

示例程序为

1.

#include <stdio.h>
int main(void)
{
printf("to c,or not to c.\n");
return 0;
}

2.

#include <stdio.h>
int main(void)
{
int height,length,width,volume,weight;
printf("enter height of box.");
scanf("%d",&height);
printf("enter length of box");
scanf("%d",&length);
printf("enter width of box");
scanf("%d",&width);
volume=height*length*width;
weight=(volume+165)/166;
printf("volume(cubic inches):%d\n",volume);
printf("Dimensional weight (pounds):%d\n",weight);
return 0;
}

提示错误是

1.

错误 1 error LNK2005: _main 已经在 1.obj 中定义 C:\Users\Administrator\Documents\Visual Studio 2010\Projects\myc\myc\2.obj

2.

错误 2 error LNK1169: 找到一个或多个多重定义的符号 C:\Users\Administrator\Documents\Visual Studio 2010\Projects\myc\Debug\myc.exe 1

单个文件进行编译没有问题。求教。。

takmingtsang的主页 takmingtsang | 菜鸟二级 | 园豆:202
提问于:2012-07-01 13:30
< >
分享
最佳答案
0

你的两个文件里面都有MIAN函数,这怎么能行呢。main是程序的入口函数在一个程序里面只能有一个。

所谓的多个文件的编译方式其实你已经用过了,就是#include <stdio.h>这一句,stdio.h是个头文件,它本来是和一个.c文件对应的(可以同名,也可以不同名)不过在visual studio下面微软为了保护自己的源代码已经把对应的.c 文件编译成了.obj 文件。想了解详细点就搜索一下C语言的编译过程。

扯远了……,你如果想编译多个文件,在visual studio下也是很方便的,给你对应的.c文件写个头文件(具体写法,百度就行了)然后在要用的地方include就可以了。

收获园豆:5
LanderlYoung | 菜鸟二级 |园豆:214 | 2012-07-01 14:38

在练习C语言时,总不至于每次都要移除文件,仅保留单个文件进行编译运行。能否给个关键词呢,我不是非常理解你的意思。谢谢。。

takmingtsang | 园豆:202 (菜鸟二级) | 2012-07-02 00:58

@takmingtsang: 你的意思我明白了,你是说平时会写很多小程序但是又不想很麻烦的去每个小程序都新建一个工程。那我给你个很简单有效的方法,就是写下一个程序的时候把上一个注释掉。我原来就是这样,后来发现自己写的这些小程序叫起来也有1000多行的O(∩_∩)O。

LanderlYoung | 园豆:214 (菜鸟二级) | 2012-07-03 23:53

@LanderlYoung: 行,就按你说的这么办吧。谢谢哈。。

takmingtsang | 园豆:202 (菜鸟二级) | 2012-07-05 09:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册