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 调用结果
相关推荐
不懒不懒11 分钟前
【Python办公自动化进阶指南:系统交互与网页操作实战】
开发语言·python·交互
Quz11 分钟前
QML与JavaScript 交互的四种方式
javascript·qt·交互
普通网友14 分钟前
C++与Rust交互编程
开发语言·c++·算法
游乐码22 分钟前
c#静态类和静态构造函数
开发语言·c#
StandbyTime1 小时前
C语言学习-菜鸟教程C经典100例-练习79
c语言
xyty33201 小时前
QImageReader 的全局静态锁原理
c++·windows·qt
散峰而望1 小时前
【算法竞赛】堆和 priority_queue
开发语言·数据结构·c++·算法·贪心算法·动态规划·推荐算法
javaIsGood_2 小时前
Java基础面试题
java·开发语言
Forget_85502 小时前
RHEL——LVS模式
java·开发语言·lvs
罗超驿3 小时前
13.1 万字长文,深入解析--抽象类和接口
java·开发语言