qt中调用以下Interface_CppDllMingW.h定义的C++动态dll库,在qi中直接引入以下代码的Interface_CppDllMingW.h提示语法错误,给出在qt中引入的Interface_C'p'p'DllMingW.h的代码;Interface_CppDllMingW.h的代码如下:#pragma once #ifdef INTERFACE_CPPDLLMINGW_EXPORTS #define INTERFACE_CPPDLLMINGW_API extern "C" __declspec(dllexport) #else #define INTERFACE_CPPDLLMINGW_API extern "C" __declspec(dllimport) #endif public ref class Interface_CppDllMingW { public: // Interface_CppDllMingW() = default; // ~Interface_CppDllMingW() = default; virtual int mingw_add(int a, int b) = 0; virtual void mingw_substract(int a, int b, int* c) = 0; virtual void mingw_showBox(const char* str) = 0; virtual short win32_Sync_isUSBExist() =0; virtual short win32_Sync_READ_status(const char* MainProg, const char* CurProg, int* CurSeq, const char* Mode, const char* Status, const char* Alarm, const char* EMG) = 0; }; INTERFACE_CPPDLLMINGW_API Interface_CppDllMingW^ CALL_API();
时间: 2023-06-02 18:08:12 浏览: 171
qt输出界面的dll
在Qt中调用Interface_CppDllMingW.h定义的C动态dll库需要注意以下几点:
1. 在Qt项目中引入dll库需要在.pro文件中添加LIBS += -L库路径 -l库名称
2. 如果dll库中的函数使用了STL容器,则需要在Qt项目中加入CONFIG += c++11
3. 在引入Interface_CppDllMingW.h文件时,需要将文件名中的p字母改为大写P字母,即Interface_CPPDllMingW.h
下面是在Qt中引入Interface_CPPDllMingW.h的代码示例:
```
// 引入头文件
#include "Interface_CPPDllMingW.h"
// 声明dll库中的函数指针
typedef int(*DLLFunc)(int, const char*);
DLLFunc pFunc = nullptr;
// 加载dll库
QLibrary myLib("myDll.dll");
// 判断库是否加载成功
if(myLib.load())
{
// 获取库中的函数指针
pFunc = (DLLFunc)myLib.resolve("myDllFunc");
}
// 使用库中的函数指针
if(pFunc)
{
int result = pFunc(1, "hello");
}
```
阅读全文