qt导入头文件报错

刚交接同事的qt项目,环境是:

 工程中在源代码引用文件或自己写方法调用到一些外部或系统库,编译会报一大堆错,重复引用等等。这种情况在vc上面是不会出现,搞不懂qt为什么这样,急暂未找到解决方案。尝试了一两天,后来发现不要再原来代码写,单独从工程菜单添加先模块,在新模块里面去写,然后再去引用这个新模块的类。

报错信息:

 

 利用菜单增加新类模块,模块里再去调用vc++的动态库实现功能

#ifndef CHeader_H
#define CHeader_H

#ifdef __cplusplus
extern "C" {  // 告诉编译器下列代码要以C链接约定的模式进行链接
#endif

    //__stdcall int fnMsgbox(char* msg);


#ifdef __cplusplus
}
#endif

#endif // CHeader_H
#include "CHeader_H.h"
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

extern __stdcall int fnMsgbox(char* msg);

int get(const char* data, int dataLen, char* outdata)
{

#if 1
    typedef int(__stdcall* pmsgbox)(char*);
    HINSTANCE hModule = LoadLibraryA("msgbox.dll");
    if(hModule==NULL)
    {
        MessageBoxA(0,"加载动态库失败","qt",0);
        return -1;
    }
    pmsgbox msgbox = (pmsgbox)GetProcAddress(hModule, "fnMsgbox");
    if(msgbox)
    {
        msgbox("qt调用vc动态库");
    }
    else
    {
        MessageBoxA(0,"加载动态库失败","qt",0);
    }
    FreeLibrary(hModule);
#endif

    return 0;
}

 

posted @ 2023-05-10 09:52  晨光静默  阅读(198)  评论(0编辑  收藏  举报