24小时热门版块排行榜    

查看: 1073  |  回复: 6

03010328

银虫 (正式写手)

[求助] 关于VS2010中C++在编译过程中出现的LNK2005 errors,特寻求相关人士给予帮助。 已有1人参与

自己利用VS2010所写的C++程序出现了大量的“LNK2005 errors”,久而久之,一直没有解决,今日特来请教:
        由于A.cpp、B.cpp、C.cpp等不同的cpp文件中需要同时调用一些全局变量,自定义宏,自定义函数等,因此我参考书上的作法,将这些变量、宏和函数统一写到了一个自定义的headline.h头文件中,然后再将所有的A.cpp、B.cpp和C.cpp文件中同时include "headline.h",结果经过编译时,就出现了大量的LNK2005 errors,然后经过查阅相关C++书籍和网络,得知在自定义的headline.h头文件的最开始,写入#pragma once命令,可以防止头文件被多次包含,可是楼主试了,仍然不灵;于是我又利用#ifndef、#define和#endif指令,可是结果仍然如出一辙。
        ①在楼主自定义的headline.h头文件中,关于我对#pragma once命令的使用:
1        #pragma once
2        int Lx=50,Ly=50,Lz=50;  /*不同cpp文件中需要调用的全局变量*/
3        #define PI 3.14159265;  /*不同cpp文件中需要调用的自定义宏*/
4        int nint(double x)      /*不同cpp文件中需要调用的自定义函数*/
         {
             return (int)(x+0.5);
         }
        ②在楼主自定义的headline.h头文件中,关于我对#ifndef、#define和#endif等命令的使用:
1        #ifndef _HEADLINE_H
2        #define _HEADLINE_H
3        int Lx=50,Ly=50,Lz=50;  /*不同cpp文件中需要调用的全局变量*/
4        #define PI 3.14159265;  /*不同cpp文件中需要调用的自定义宏*/
5        int nint(double x)      /*不同cpp文件中需要调用的自定义函数*/
6        {
7            return (int)(x+0.5);
8        }
9        #endif
        ①和②两种方法所写的自定义headline.h头文件,在编译A.cpp、B.cpp和C.cpp等文件的过程中,仍然报错LNK2005 errors,目前楼主实在无能为力了,特请相关人士帮忙解答,因为楼主非计算机专业,只是临时工作需要掌握这些知识,谢谢!!!
回复此楼
梦のしずく
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

贴完整的项目文件;
ส็็็็็็็็็็็็็็็็็็็็
2楼2014-03-17 11:31:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

03010328

银虫 (正式写手)

引用回帖:
2楼: Originally posted by cooooldog at 2014-03-17 11:31:23
贴完整的项目文件;

就是这个,共有main、initial、force、integrate四个cpp文件,均需要调用自定义的headline.h头文件中的相应全局变量、自定义宏或者函数。
关于VS2010中C++在编译过程中出现的LNK2005 errors,特寻求相关人士给予帮助。
项目文件.png

梦のしずく
3楼2014-03-17 14:02:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

感谢参与,应助指数 +1
贴一下报错信息看看怎么回事
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2014-03-17 18:02:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

03010328

银虫 (正式写手)

引用回帖:
4楼: Originally posted by libralibra at 2014-03-17 18:02:25
贴一下报错信息看看怎么回事

这个问题我已经解决了,昨天是我理解错了,原来函数的定义不能在.h头文件中进行,只能在.cpp源文件中进行,然后再将定义的函数和变量在.h头文件中进行声明,但是宏的定义可以在.h头文件中进行,而不是在.cpp文件中进行。不过还是要感谢各位的回答!!!
梦のしずく
5楼2014-03-18 11:55:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

微暗的小火苗

金虫 (小有名气)

谢谢楼主,看到你的答案我也解决了,嘿嘿~太感谢了~
开始积极向上,抛弃浮躁的过去!!
6楼2014-03-20 15:52:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

03010328

银虫 (正式写手)

引用回帖:
6楼: Originally posted by 微暗的小火苗 at 2014-03-20 15:52:56
谢谢楼主,看到你的答案我也解决了,嘿嘿~太感谢了~

相互学习,不谢不谢!
梦のしずく
7楼2014-03-24 17:51:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 03010328 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 070300化学学硕求调剂 +6 太想进步了0608 2026-03-16 6/300 2026-03-16 16:13 by kykm678
[考研] 材料与化工求调剂 +3 为学666 2026-03-16 3/150 2026-03-16 15:09 by 加号+
[考研] 312求调剂 +3 陌宸希 2026-03-16 4/200 2026-03-16 15:06 by peike
[考研] 材料专硕306英一数二 +4 z1z2z3879 2026-03-16 4/200 2026-03-16 13:53 by laoshidan
[考研] 308求调剂 +3 是Lupa啊 2026-03-16 3/150 2026-03-16 10:07 by 求调剂zz
[考研] 东南大学364求调剂 +4 JasonYuiui 2026-03-15 4/200 2026-03-16 08:36 by Linda Hu
[考研] 求老师收留调剂 +4 jiang姜66 2026-03-14 5/250 2026-03-15 20:11 by Winj1e
[考研] 材料与化工 323 英一+数二+物化,一志愿:哈工大 本人本科双一流 +4 自由的_飞翔 2026-03-13 5/250 2026-03-14 19:39 by hmn_wj
[考研] 求调剂! +4 朔朔话 2026-03-09 4/200 2026-03-14 01:38 by JourneyLucky
[考研] 312求调剂 +6 陌宸希 2026-03-10 6/300 2026-03-14 00:40 by JourneyLucky
[考研] 308求调剂 +5 是Lupa啊 2026-03-11 5/250 2026-03-13 22:13 by JourneyLucky
[考研] 329求调剂 +3 miaodesi 2026-03-12 4/200 2026-03-13 20:53 by 18595523086
[考研] 301求调剂 +6 Liyouyumairs 2026-03-11 6/300 2026-03-13 20:11 by JourneyLucky
[硕博家园] 085600 260分求调剂 +3 天空还下雨么 2026-03-13 5/250 2026-03-13 18:46 by 天空还下雨么
[考研] 一志愿211化学学硕310分求调剂 +8 努力奋斗112 2026-03-12 9/450 2026-03-13 15:41 by JourneyLucky
[考研] 295求调剂 +3 小匕仔汁 2026-03-12 3/150 2026-03-13 15:17 by vgtyfty
[考研] 26考研求调剂 +5 丶宏Sir 2026-03-13 5/250 2026-03-13 13:05 by JourneyLucky
[考研] 333求调剂 +3 152697 2026-03-12 4/200 2026-03-13 07:08 by Iveryant
[考研] 一志愿河海大学085900土木水利专硕279求调剂不挑专业 +4 SunWwWwWw 2026-03-10 8/400 2026-03-13 02:23 by SunWwWwWw
[考研] 大连大学化学专业研究生调剂 +3 琪久. 2026-03-10 8/400 2026-03-11 10:02 by 琪久.
信息提示
请填处理意见