当前位置:  开发笔记 > 编程语言 > 正文

如何在C中使用头文件中的C++函数?

如何解决《如何在C中使用头文件中的C++函数?》经验,为你挑选了1个好方法。

我正在写论文,我在C代码中使用C++函数有问题.我搜索了解决方案,但我找到了很多,但无论如何都没有用.请再向我解释一下.

要快我有类似下面后gcc main.c -o main,我得到undefined reference to 'cppfun'

cpp.h:

#pragma once

#ifdef __cplusplus
 extern "C" {
#endi

    void cppfun();

#ifdef __cplusplus
 }
#endif

cpp.cpp:

#include 
#include "cpp.h"

void cppfun()
{
    printf("cpp_fun");
}

main.c中:

#include 
#indlude "cpp.h"

int main(int argc, char *argv[])
{
    cppfun();
    return 0;
}

Cheers and h.. 6

组合C和C++时,应编译包含该main函数的转换单元,如C++.不相反.这是一个FAQ.

未定义的引用通常是因为您没有在翻译单元中链接丢失的内容.您声明的构建命令是

gcc main.c -o main

虽然它应该是例如

gcc -c main.c
g++ -c cpp.cpp
g++ cpp.o main.o -o main

除非提到,主翻译单元应该是C++.



1> Cheers and h..:

组合C和C++时,应编译包含该main函数的转换单元,如C++.不相反.这是一个FAQ.

未定义的引用通常是因为您没有在翻译单元中链接丢失的内容.您声明的构建命令是

gcc main.c -o main

虽然它应该是例如

gcc -c main.c
g++ -c cpp.cpp
g++ cpp.o main.o -o main

除非提到,主翻译单元应该是C++.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有