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 调用结果
相关推荐
say_fall12 小时前
可编程中断控制器8259A工作方式超详细解析
android·开发语言·学习·硬件架构·硬件工程
San813_LDD12 小时前
[QT]《Qt 开发避坑指南:随机数、容器操作与 VS 环境配置》
开发语言·qt
小糯米60112 小时前
C语言 自定义类型:联合和枚举
java·c语言·开发语言
weixin_5231853212 小时前
Java基础知识总结(二):JVM内存结构与变量生命周期
java·开发语言·jvm
石山代码12 小时前
Python 进阶学习指南
开发语言·python
xiaoshuaishuai813 小时前
C# 多线程之间对比
java·开发语言·c#
ZC跨境爬虫14 小时前
跟着 MDN 学JavaScript day_9:字符串方法实战挑战与解题思路
开发语言·前端·javascript
青春:一叶知秋15 小时前
【C++】protobuf序列化与反序列化
开发语言·c++
夕除16 小时前
shizhan--10
java·开发语言
Zhang~Ling16 小时前
C++ 红黑树封装:myset和mymap的底层实现
开发语言·数据结构·c++·算法