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 调用结果
相关推荐
爱学习的阿磊几秒前
C++代码冗余消除
开发语言·c++·算法
春日见14 分钟前
win11 分屏设置
java·开发语言·驱动开发·docker·单例模式·计算机外设
2301_7800290421 分钟前
支付宝sdk导入错误
java·开发语言·maven
皮皮哎哟27 分钟前
夯实基础:数据结构核心概念与线性表(顺序表&链表)C语言全解析 数据结构篇
c语言·数据结构·顺序表·单向链表·有头链表
划破黑暗的第一缕曙光41 分钟前
[数据结构]:4.二叉树_堆
c语言·数据结构·二叉树·
浅念-1 小时前
C语言——双向链表
c语言·数据结构·c++·笔记·学习·算法·链表
2501_944525541 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 预算详情页面
android·开发语言·前端·javascript·flutter·ecmascript
2 小时前
java关于内部类
java·开发语言
好好沉淀2 小时前
Java 项目中的 .idea 与 target 文件夹
java·开发语言·intellij-idea
lsx2024062 小时前
FastAPI 交互式 API 文档
开发语言