当前位置: 技术问答>linux和unix
求教有关makefile的问题
来源: 互联网 发布时间:2016-11-28
本文导语: 各位大哥,小弟是个菜鸟,现在有个问题想请教。有个开源的软件,使用C实现的,我现在想在里面加一些功能,但是需要一个.h和一个.cpp的文件(这两个文件都是开源的),我复制到目录下,但是发现直接./configure,...
各位大哥,小弟是个菜鸟,现在有个问题想请教。有个开源的软件,使用C实现的,我现在想在里面加一些功能,但是需要一个.h和一个.cpp的文件(这两个文件都是开源的),我复制到目录下,但是发现直接./configure,make之后好像不会编译这个我添加进去的文件,出现undefined reference to...好像是没有编译我加进去的.cpp文件也没有生成.o文件,我在makefile里看到一段大概是这样的:SRCS_XXX = command.c m_property.c ...我就在中间加上了我的那个.cpp文件,生成了.o的文件,但是出了很多undefined reference to...这样的错,现在该怎么办呢,这是因为makefile的哪个地方要设置编译c++的文件吗,因为原来的那些文件都是.c的。望大家帮帮忙吧!
|
在C中引用C++语言中的函数和变量时,C++的头文件需添加extern "C",但是在C语言中不能直接引用声明了extern "C"的该头文件,应该仅将C文件中将C++中定义的extern "C"函数声明为extern类型。
1)在C++中引用C语言中的函数和变量,在包含C语言头文件(假设为cExample.h)时,需进行下列处理:
extern "C"
{
#include "cExample.h"
}
http://blog.csdn.net/moodytong/archive/2011/05/08/6403624.aspx
|
cpp文件要用g++。。。不是gcc。。另外c++与c文件的函数的相互调用要单独处理。。。
|
用g++编译cpp文件,用gcc编译c文件,然后用g++链接