Qt调用C函数

一.Qt或者C++中调用C函数方法

1.如果在Qt或者C++文件中直接调用.c文件中的C函数是会报错的,如:

error: undefined reference to `vendor_app_handle()'

2.这种情况有两种解决方法:

(1)在头文件中直接使用

#ifdef __cplusplus

extern "C" {

#endif

#include "xxx.h"

int vendor_app_handle(void);

#ifdef __cplusplus

}

#endif

(2) 在需要调用c函数的cpp文件中包含对应的.h文件,然后就可以直接调用c函数了

二.完整代码示例

1.function.h

#ifndef FUNCTION_H

#define FUNCTION_H

#ifdef __cplusplus

extern "C" {

#endif

#include <stdio.h>

int add(int a, int b);

char *rstr(char *str);

#ifdef __cplusplus

}

#endif

#endif

2.function.c

#include "function.h"

int add(int a, int b)

{

return a+b;

}

char *rstr(char *str)

{

return str;

}

  1. mainwindow.cpp 调用结果
相关推荐
执明wa16 小时前
从 T 到协变逆变
java·开发语言·数据结构
lianghyan16 小时前
List.stream().min
java·开发语言
三*一16 小时前
Mapbox GL JS 前端多边形分割实战:从踩坑到优雅实现
开发语言·前端·javascript·vue.js
计算机安禾16 小时前
【c++面向对象编程】第37篇:面向对象设计原则(一):单一职责与开闭原则
开发语言·c++·开闭原则
小明同学0116 小时前
C++后端项目:统一大模型接入 SDK(三)
开发语言·c++
Brilliantwxx16 小时前
【C++】 继承与多态(下)
开发语言·c++
C+++Python16 小时前
C++考试语法知识
开发语言·c++
凯瑟琳.奥古斯特16 小时前
操作系统核心结构解析
java·开发语言·c++·python·职场和发展
郭郭的柳柳在学FPGA17 小时前
千兆以太网@——帧格式
java·开发语言·网络
handler0117 小时前
【Linux 网络】一文读懂 HTTP 协议
linux·c语言·网络·c++·笔记·网络协议·http