社区
Linux/Unix社区
帖子详情
在一个工程中同时使用c++和c.
scmsir
2009-12-07 03:46:57
假设现在又3个文件
1.h
int a();
1.cpp
#include "1.h"
int a()
{
return 0;
}
main.c
int main()
{
a();
return 0;
}
如果这时我编译的话可以通过,但是链接时报错, undefined reference to `a'。不知道有没有那位知道是怎么回事的?
...全文
155
6
打赏
收藏
在一个工程中同时使用c++和c.
假设现在又3个文件 1.h int a(); 1.cpp #include "1.h" int a() { return 0; } main.c int main() { a(); return 0; } 如果这时我编译的话可以通过,但是链接时报错, undefined reference to `a'。不知道有没有那位知道是怎么回事的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
scmsir
2009-12-07
打赏
举报
回复
谢谢大家。可以了。我在.cpp里面也加了这些。
scmsir
2009-12-07
打赏
举报
回复
谢谢提醒。这个是我打字的时候的错误。main.c里肯定要include"1.h"的。
scmsir
2009-12-07
打赏
举报
回复
谢谢大家。比较奇怪的是这个小例子确实可以编译通过,但是我的工程里面的代码还是不行。我再查查。
LeosDing
2009-12-07
打赏
举报
回复
main.c不需要#include "1.h" ?
pottichu
2009-12-07
打赏
举报
回复
1.h
#ifdef __cplusplus
extern "C" {
#endif
int a();
#ifdef __cplusplus
}
#endif
1.cpp
#include "1.h"
int a()
{
return 0;
}
main.c
int main()
{
a();
return 0;
}
注意使用
extern "C" { }
Wenxy1
2009-12-07
打赏
举报
回复
用GCC来编译,
C++的文件记得用extern "c"来修饰。
从c语言入门到
c++
使用
高手
我通过这个套餐课程为您铺设一条从C语言入门到
C++
开发高手的语言学习和成长之路,让您在1年内成长到别人要花费5年甚至更久才能成长到的程度,您只需要按照这几门课程的从简到繁的顺序努力学习,几门课程学习完毕后,...
C语言和
C++
的区别
c语言虽说经常和
c++
在一起被大家提起,但可千万不要以为它们是
一个
东西。现在我们常用的C语言是C89标准,
C++
是
C++
99标准的。C89就是在1989年制定的标准,如今最新的是C11和
C++
11标准。根据不同的标准,它们的功能也...
C++
工程
中
.h和.cpp该怎么写
通常,在
一个
C++
程序
中
,只包含两类文件——.cpp文件和.h文件。其
中
,.cpp文件被称作
C++
源文件,里面放的都是
C++
的源代码;而.h文件则被称作
C++
头文件,里面放的也是
C++
的源代码。 C+ +语言支持“分别编译”...
c++
语言程序的后缀,
c++
中
后缀名.c 与.cpp的区别?
但是
c++
兼容c语言的绝大部分语法特性,所以该段代码在
C++
中
可以运行,但是在C语言
中
就会报错。想要在C
中
运行,可以将定义变量放置在函数开头,修改后程序段如下:#includevoid main(){int a;a=7;float x,y,z;x=2.5;y...
在VS
工程
中
,添加c/
c++
工程
中
外部头文件(.h),lib库,dll库的基本步骤
选择
工程
,右键-
工程
属性 其
中
: ...在VS
工程
中
,添加c/
c++
工程
中
外部头文件及库的基本步骤: 1.添加
工程
的头文件(.h)目录:
工程
--属性--配置属性--c/
c++
--常规--附加包含目录: 添加...
Linux/Unix社区
23,117
社区成员
74,506
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章