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 调用结果
相关推荐
moxiaoran575317 小时前
Go 语言指针
开发语言·golang
爱吃大芒果18 小时前
Flutter 网络请求完全指南:Dio 封装与拦截器实战
开发语言·javascript·flutter·华为·harmonyos
云水木石18 小时前
Rust 语言开发的 Linux 桌面来了
linux·运维·开发语言·后端·rust
Logic10118 小时前
深入理解C语言if语句的汇编实现原理:从条件判断到底层跳转
c语言·汇编语言·逆向工程·底层原理·条件跳转·编译器原理·x86汇编
听风吟丶18 小时前
Java NIO 深度解析:从核心组件到高并发实战
java·开发语言·jvm
C++业余爱好者18 小时前
Java开发中Entity、VO、DTO、Form对象详解
java·开发语言
zmzb010318 小时前
C++课后习题训练记录Day50
开发语言·c++
froginwe1118 小时前
`.toggleClass()` 方法详解
开发语言
lsx20240618 小时前
SQLite 附加数据库详解
开发语言
恶魔泡泡糖18 小时前
最小系统组成部分
c语言·单片机