一个奇怪的重定义问题: multiple definition of main

liufenglai 2008-02-14 05:58:32
老板给我一个由C和fortran混合写的程序,其中主程序来自于C,是一个叫做ab_initio . c的程序。
程序在编译完之后,链接时给出了如下提示:
/home/liufenglai/mine/myprogram/fortran/ab_initio/src/PConly/ab_initio.c:32: multiple definition of `main'
/opt/intel/fc/10.1.008/lib/for_main.o:/users/nbtester/x86linux_nightly/branch-10_1/20070914_000000/libdev/frtl/src/libfor/for_main.c:
(.text+0x0): first defined here

似乎主程序被链接到了intel的库函数之中去了。这个问题时怎样引起的?我应该怎样来修正这个问题??
请求高手们帮助!!!
...全文
7879 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
技术小黑屋 2010-10-25
  • 打赏
  • 举报
回复 1
解决方法:因为你同意工程中有两个文件都包含main函数,删除另一个文件,即可正常运行!
arong1234 2008-02-15
  • 打赏
  • 举报
回复
从报错看显然有一个,但这不等于你直接把函数写在for_main.c中,实际上,如果函数在ab_initio.c中实现,而for_main.c #include这个文件,或者间接#include,都会导致这个问题,当然,这样的话用grep肯定找不到俩
liufenglai 2008-02-15
  • 打赏
  • 举报
回复
对于for_main.o里是否也有个main,我不太清楚。
但是老板给出的这一堆源文件中,的确只有一个main函数。我们通过
grep -irn "main" *
进行过搜索,能够证明。
同时,如果我采用其他的编译器进行编译;例如sunstudio;编译结果是没有这个提示的。所以可以确定不会同时存在两个main函数。

这里顺便抱怨一下:老板给的代码实在实在是太太垃圾!!!居然没有一个编译器能够编译过去的;很多fortran的代码编译过程中就会报错!!代码写的也是乱七八糟,同一个函数居然在不同的源文件中都有出现;改来改去真是让我头疼死了。。。。
「已注销」 2008-02-14
  • 打赏
  • 举报
回复
你有两个文件里面都定义了main函数。
arong1234 2008-02-14
  • 打赏
  • 举报
回复
for_main.o里也有个main?你不会在for_main.c中包含你那个有main函数的c文件了吧?
源码下载地址: https://pan.quark.cn/s/a4b39357ea24 Altium Designer 18是一款功能丰富的电子设计自动化工具,其集成了电路原理图绘制、PCB布局规划、三维视图展示、电路仿真分析以及生产文件生成等多项核心功能,为电子工程师们提供了一个全面的硬件设计解决方案。该软件的官方中文指导材料系统地阐述了从项目初始阶段到最终完成的全过程操作方法。 在“AD18 官方中文指导材料”中,使用者可以掌握以下核心内容要点: 1. **系统配置与界面认知**:熟悉Altium Designer 18的工作平台,涵盖菜单选项、工具栏配置、工作区域安排,以及个性化工作界面的设定方法。 2. **项目创建流程**:掌握如何建立新的项目工程,包括工程参数配置、项目模板选取,以及项目文件的添加操作。 3. **电路图绘制技术**:学习电路原理图的绘制流程,包括元件库的维护管理、元件放置技巧、连接线路绘制、属性编辑操作,以及网络表的自动生成方法。 4. **元件库构建与管理**:了解如何建立自定义元件库,执行元件的导入与导出任务,以及利用Altium Designer自带的元件资源库。 5. **PCB布局设计方法**:掌握PCB设计的基本准则,如元件布局策略、布线技巧、层叠结构调整、布线规则优化,以及冲突检测与短路处理技术。 6. **设计规范与约束条件**:理解设定设计规范和电气约束条件的关键性,包括间距参数设定、焊盘尺寸规格、过孔尺寸要求等,以及运用规则检查进行设计验证的流程。 7. **三维模型整合应用**:学习如何将三维模型与PCB设计内容相结合,以实现更为直观的机械配合验证。 8. **电路性能仿真技术**:掌握使用Altium Des...

70,039

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧