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 调用结果
相关推荐
「QT(C++)开发工程师」8 小时前
【Qt Creator 15.0.1 安装指南】
开发语言·qt
网小鱼的学习笔记8 小时前
leetcode283移动零元素
java·开发语言·算法
一点多余.8 小时前
java中的单例模式
java·开发语言·单例模式
xyq20249 小时前
NumPy 创建数组
开发语言
lly2024069 小时前
Ruby 类和对象
开发语言
Dovis(誓平步青云)9 小时前
《C/C+++ Boost 轻量级搜索引擎实战:架构流程、技术栈与工程落地指南——构造正/倒排索引(中篇)》
开发语言·c++·搜索引擎
Autumn72999 小时前
【系统重装】PYTHON 入门——速通版
开发语言·python·conda·cuda
keyborad pianist9 小时前
Java应用基础 Day3
java·开发语言
java1234_小锋9 小时前
Java高频面试题:怎么实现Redis的高可用?
java·开发语言·redis
小龙报9 小时前
【算法通关指南:数据结构与算法篇】二叉树相关算法题:1.美国血统 American Heritage 2.二叉树问题
c语言·数据结构·c++·算法·深度优先·广度优先·宽度优先