본문 바로가기
C++ 200제/코딩 IT 정보

Qt 윈도우에서 MFC DLL 사용, 라이브러리 import 예제

by vicddory 2017. 2. 1.

Qt 윈도우에서 MFC DLL 사용하기


참조 - Call Symbol From Shared Object File (DLL) with Qt Library [링크] 


코드 프로젝트에 올라온 글과 레퍼런스 문서도 참고 합니다. 「(Qt, MFC, DLL 문서)



Qt 윈도우에서 MFC DLL 사용하기Qt 윈도우에서 MFC DLL 사용하기



위의 내용을 종합해보면, MFC 속성의 DLL도 Qt 스타일로 맞추면 불러와 사용하는 게 가능합니다.


먼저 아래의 코드처럼 QLibrary 변수를 생성한 뒤 로드를 합니다.


1
2
3
4
5
6
7
8
9
10
11
12
.h
#include <QLibrary>
.....
QLibrary library;
 
.cpp
TestBed::TestBed(QWidget *parent)
                : QMainWindow(parent),
                library("file_name")
.....
// 라이브러리 로드
library.load();
cs


그리고 아래와 같은 MFC DLL 함수는


1
FAPI int WINAPI Sample(unsigned char No);
cs


사용할 수 있도록 수정합니다.


1
typedef int (*Sample)(unsigned char);
cs


마지막으로 Qt에서 DLL 함수 사용을 위한 코드는 아래와 같습니다.


1
2
3
4
5
6
7
void TestBed::DoSample()
{
    Sample function = (Sample)library.resolve("Sample");
 
    if(function) 
        bool result = function(301);
}
cs


ps. 당연히 윈도우 기준이고 리눅스에선 안됩니다.


Qt 윈도우에서 MFC DLL 사용하기

댓글