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 调用结果
相关推荐
Jasmine_llq1 分钟前
《B4356 [GESP202506 二级] 数三角形》
开发语言·c++·双重循环枚举算法·顺序输入输出算法·去重枚举算法·整除判断算法·计数统计算法
止语Lab9 分钟前
Go vs Java GC:同一场延迟战争的两条路
java·开发语言·golang
Rust研习社10 分钟前
Rust 多线程从入门到实战
开发语言·后端·rust
Ulyanov27 分钟前
《玩转QT Designer Studio:从设计到实战》 QT Designer Studio数据绑定与表达式系统深度解析
开发语言·python·qt
棋子入局1 小时前
C语言制作消消乐游戏(4)
c语言·开发语言·游戏
froginwe112 小时前
Python3 实例
开发语言
xiaoshuaishuai82 小时前
C# ZLibrary数字资源分发
开发语言·windows·c#
小碗羊肉2 小时前
【从零开始学Java | 第四十二篇】生产者消费者问题(等待唤醒机制)
java·开发语言
流年如夢2 小时前
自定义类型进阶:联合与枚举
java·c语言·开发语言·数据结构·数据库·c++·算法
Little At Air2 小时前
C++stack模拟实现
linux·开发语言·c++·算法