【求助】codeblocks对于多个文件的工程编译问题!

FengPrince 2010-12-02 01:22:48
codeblocks建工程,一个文件时编译没有什么问题,当有多个文件时不能运行,提示:
“It seems that this project has not been built yet.Do you want to build it now?”
这个怎么回事啊???
而且对于头文件head.hpp
#ifndef HEAD_HPP_INCLUDED
#define HEAD_HPP_INCLUDED

int test=10;

#endif // HEAD_HPP_INCLUDED

如果有两个cpp文件同时包括head.hpp,编译时竟会出现“multiple definition of 'test'”。
我靠,我都无语了!!!
天地良心,除了在头文件中定义了test变量外,任何文件的任何地方都没有再定义,而且头文件已经加了保护宏!!
对于codeblocks,我都有点失去信心了,为什么不做得稳定易用呢,比如智能提示时有时无,这些问题搞得自己很不爽。
请原谅我的牢骚,实在是太气愤了,课程设计赶时间,建了N个工程,没有一个通过编译的(除非所有代码都放到一个文件中),拿到VS2010运行一点问题都没有。
目前只做了一半,机器用VS2010有点卡,还是想用CB。
望热心的朋友指点一下,感激不尽!
...全文
1011 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
就想叫yoko 2010-12-02
  • 打赏
  • 举报
回复
忘记是哪个文件出问题了,你重新建一个项目把源文件加进去就不会有这个问题了,或者你把除工程文件和源文件外的其他文件全删除了试试
FengPrince 2010-12-02
  • 打赏
  • 举报
回复
谢谢这位兄台,我忘了只有常量定义才能在头文件中,难怪VS2010能编译通过(在VS2010中我把头文件中的变量定义前加了const,在CB中没有加)!时间久了,最近做多媒体数据压缩才重拾C++,有点生疏了,记得以前看Bjarne Stroustrup那本书时,貌似里面有提到这个问题!
这里,为我的冲动道个歉!!
还有顺带问一下,为什么有时候打开工程时,左侧management里只有个CB的图标,却没有文件,得自己添加所有的源程序,每次这样,有点麻烦!有时,重新建个工程又没有这个问题了!!这个问题可能有点偏了,知道的话请告知一下。
再次表示感谢!!
就想叫yoko 2010-12-02
  • 打赏
  • 举报
回复
头文件定义变量会造成重复定义变量的
mstlq 2010-12-02
  • 打赏
  • 举报
回复
天地良心……
头文件本来就不应该定义任何变量,声明还可以……
把int test=10;放到某cpp文件里面,头文件写成
extern int test;

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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