社区
非技术区
帖子详情
请问dev-c++怎样编译多个文件?
sonic1984
2004-12-26 03:22:44
郁闷了好久的bc问题
...全文
559
20
打赏
收藏
请问dev-c++怎样编译多个文件?
郁闷了好久的bc问题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sonic1984
2005-01-04
打赏
举报
回复
谢谢大家
不过能不能告诉我怎样散分?
fatalerror99
2004-12-31
打赏
举报
回复
C++ Primer 中对模板声明和定义的分开编译有比较详细的讨论,可以参考。
另外,你可以看看 STL 源码,各个版本中,模板的声明和定义都是在一个 .h 文件中的。
fatalerror99
2004-12-30
打赏
举报
回复
在编译器不支持 keyword export 的情况,你只能把声明和定义放在一个文件中。
支持模板声明和定义的分开编译(也就是实现 export)是一件非常复杂的事情,连 Bjarne Stroustrup 都承认这是一件代价非常昂贵的事情。
所以现在几乎所有编译器都没有实现 export 关键字,至少我没有见过。
sonic1984
2004-12-30
打赏
举报
回复
to fatalerror99(涅槃) :
我就是这个意思---声明和定义分别放在不同的文件中
dev-c++确实不支持keyword export..........
而且去掉export也不能通过编译
[Linker error] undefined reference to `void myswap<int>(int&, int&)'
sonic1984
2004-12-28
打赏
举报
回复
我看书上讲 应该把类的声明放在头文件中 类的成员函数的定义放在一个单独的文件中(非头文件)然后把这个文件和主程序文件一起编译 所以这个单独的文件不应该用include呀
sonic1984
2004-12-28
打赏
举报
回复
我的确建的一个工程啊
然后把a.cpp 和 main.cpp加进去的
intellifox
2004-12-28
打赏
举报
回复
DEV-C++确实有这个问题,一个方法就是每一个小改动都得rebuild all才行。这样很不方便,兄弟也郁闷中.......
fatalerror99
2004-12-28
打赏
举报
回复
根据 C++ 标准,也可以将文件分成如下3个文件。
但遗憾的是,VC 2003 和 Dev-C++ (GCC) 都没有实现 export 关键字,因此无法支持模板声明和定义分离,所以,一下代码没有通过编译检验,仅供参考。
//file1: a.h
template<typename a>
void myswap(a& x, a& y);
//file2: a.cpp
#include "a.h"
export template<typename a>
void myswap(a& x, a& y)
{
a t;
t=x; x=y; y=t;
}
//file3: main.cpp
#include <iostream>
#include "a.h"
using namespace std;
int main()
{
int a, b;
cin >> a, b;
myswap (a, b);
cout << a << " " << b;
system ("PAUSE");
return 0;
}
fatalerror99
2004-12-28
打赏
举报
回复
你的 main.cpp 和 a.cpp 没有关系,怎么能成功呢。
把 a.cpp 改为 a.h
然后,在 main.cpp 中加入 #include "a.h"。
这样做就没问题了。
cizi_nwu
2004-12-28
打赏
举报
回复
建个工程就好了……我刚用dev C++也出现这个问题!
quaiyan
2004-12-28
打赏
举报
回复
试了一下cin>>a,b;这条语句应该有问题.
cin>>a;
cin>>b;
fatalerror99
2004-12-28
打赏
举报
回复
你的 main.cpp 和 a.cpp 没有关系,怎么能成功呢。
把 a.cpp 改为 a.h
然后,在 main.cpp 中加入 #include "a.h"。
sonic1984
2004-12-27
打赏
举报
回复
//file1: a.cpp
#include<iostream>
template<typename a>
void myswap(a & x,a & y)
{
a t;
t=x; x=y; y=t;
}
//file2: main.cpp
#include <iostream>
using namespace std;
int main()
{
int a,b;
cin>>a,b;
myswap(a,b);
cout<<a<<" "<<b;
system("PAUSE");
return 0;
}
把两个文件添加到一个工程project1中
选complie & run时 main.cpp `myswap' undeclared (first use this function)
sonic1984
2004-12-27
打赏
举报
回复
用include还有什么意义呢?
crazyvv
2004-12-27
打赏
举报
回复
main.cpp里要
include"a"
吧
fatalerror99
2004-12-26
打赏
举报
回复
贴出代码看看。
agaric
2004-12-26
打赏
举报
回复
还是要include啊
sonic1984
2004-12-26
打赏
举报
回复
不行啊
我建了一个工程 加了两个文件
一个中有个交换两个数的模版函数myswap
另一个文件调用这个函数
但是编译时还是说myswap undecleared. 但奇怪的是我在编写调用这个函数的语句时,系统出现提示。说明myswap已经被识别 但为什么编译不通过呢?
fatalerror99
2004-12-26
打赏
举报
回复
建一个工程,把所有文件都加到工程里。
yegaofei
2004-12-26
打赏
举报
回复
建个工程吧
Dev-C++
编译
多
文件
程序的方法&安装使用教程
Dev-C++
编译
多
文件
程序的方法
Dev-C++
安装&使用教程
Dev-C++
编译
多
文件
程序的方法
Dev-C++
编译
多
文件
程序的方法,讲解如何
编译
多个
文件
Windows下使用
Dev-C++
开发基于pthread.h的多线程程序实例
三、配置
Dev-C++
编译
选项 1)点击“工具”→“
编译
选项”→“目录”→“c++包含
文件
”,浏览到刚才解压的pthread目录,选择E:\DEV-CPP\Pthread\Pre-built.2\include,添加。 2)点击“工具”→“
编译
选项”→“目录...
Dev-c++
使用方法
Dev-c++
怎么用
Dev-C++
是一个可视化集成开发环境,可以用此软件实现C/C++程序的编辑、预处理/
编译
/链接、运行和调试。本手册中介绍了
Dev-C++
常用的一些基本操作,每一位同学都要掌握。 一.启动
Dev-C++
方法一: 1. 鼠标点击任务...
使用
dev-c++
建立工程(
多个
文件
一同
编译
连接)并运行
使用
dev-c++
建立工程(
多个
文件
一同
编译
连接)并运行
非技术区
15,440
社区成员
58,167
社区内容
发帖
与我相关
我的任务
非技术区
C/C++ 非技术区
复制链接
扫一扫
分享
社区描述
C/C++ 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章