在VC中如何运行多文件组成的C++程序?

Meuck 2003-04-21 06:35:19
很简单吧.
...全文
134 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Camdyn 2003-04-28
  • 打赏
  • 举报
回复
看得一头雾水,还需努力!大家踊跃发言呐
Tue 2003-04-28
  • 打赏
  • 举报
回复
没有吧,MFC都是这样的,不过在用classs wizzard创建类的时候,会自动添加这些类。
Meuck 2003-04-27
  • 打赏
  • 举报
回复
函数是没有问题,不过用如果是类,或是一些结构体就麻烦了,
我现在是在每个文件中用
#ifudef file001
#define file001
...
#endif
这样做的,可是每次都要用一些标示符,觉得很麻烦,有没有更简单的方法呢?
gyf 2003-04-22
  • 打赏
  • 举报
回复
试试将需要的函数放在与头文件名相同的cpp中然后在要用的地方调用头文件
Meuck 2003-04-22
  • 打赏
  • 举报
回复
thank you!!
可是这并不能完全解决我的问题,如果用#include "..." 的话
当我的第二个文件想再调用它就出错.:
"C2011 ... error type redefinition"

原本如果只是函数的话,我是把它们所有的声明都写到一个头文件内,再包含就可以了,因
为函数可以重复申明.
可是如果是变量,或是类就没法了.

但是iostream.h却不会有这种情况,是怎么回事呢?
我看了里面的代码,不明白.
还望指点.
nonocast 2003-04-21
  • 打赏
  • 举报
回复
是这样子的
#include <....>
#include "..."
是有区别的
如果文件名用<>括起来的表示这个文件是一个工程或标准头文件,查找过程会检查与定义的目录。
如果文件名用""括起来的,则表明该文件是用户提供的头文件,查找该文件时将从当前文件的目录开始。
像你这里的head.h是你自定义的头文件
所以应该用

#include "head.h"

Tay again, May you succeed!
Meuck 2003-04-21
  • 打赏
  • 举报
回复
写错了,main.h文件应该是main.cpp
Meuck 2003-04-21
  • 打赏
  • 举报
回复
不行啊
head.h内容:
#include<iostream.h>

main.h内容:
#include<head.h>
void main()
{
cout<<"test code!"<<endl;
}

出错,说找不文件.
这样
#include<路径\head.h>

则:
LINK : fatal error LNK1181: cannot open input file "head.obj"

但是程序可以运行.

并且我想得到TC中project文件那样的效果,而用#include不但要输入完整的路径,而且还是
在调用时还是算同一个文件的。

是我写错了吗?请教.
lwang337 2003-04-21
  • 打赏
  • 举报
回复
你选择菜单project/add files,把你的文件都选择进去就行了
如果你的函数、类的声明在a.h中,定义在a.cpp中,你在另一个文件中用到这个类,
那你需要#include "a.h",这样就行了
nonocast 2003-04-21
  • 打赏
  • 举报
回复
不态懂你的意思。
我只能按我理解的说
在TC下,我们都是把多文件的头全部放在.prj里面
如果有1.h/cpp 2.h/cpp main.h/.cpp
1.h 2.h分别各有一个函数,main中调用
那么在prj中
1.h
2.h
main.h
就可以了
现在VC都替你做好也就是DSP,DSW
你直接FileView里把你要的文件add进去
调用的时候只要包含相应的头文件就OK

-----------------------
May you succeed!

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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