在之前的一文章里介绍了多目录Makefile的写法,但是仅针对纯c或者c++代码,而有些时候我们需要混合编译c和c++代码,我们只需要使用g++来编译代码即可,只要我们做两点改动:
第一,在引用需要c编译的头文件时,使用关键字extern "C"括起来,例如
extern "C"
{
#include "avilib.h"
}
第二,在我们原有的Makefile文件上作少许改动,原来完整的写法见
https://blog.youkuaiyun.com/ComputerInBook/article/details/104085936
即将最外层Makefile内容修改为以下内容,别的部分不变,主要是标红的地方

因为我用的是嵌入式交叉编译环境,CC你可以换别的编译器。主要是将.c和.cpp文件区分一下编译。

本文介绍如何在多目录Makefile中混合编译C和C++代码,通过使用g++编译器并对外部C头文件应用extern C关键字,确保正确链接。适用于嵌入式交叉编译环境。
1766

被折叠的 条评论
为什么被折叠?



