티스토리 뷰
목차
반응형
Qt 윈도우에서 MFC DLL 사용하기
참조 - Call Symbol From Shared Object File (DLL) with Qt Library [링크]
코드 프로젝트에 올라온 글과 레퍼런스 문서도 참고 합니다. 「(Qt, MFC, DLL 문서)」
- Code Project - Delayed DLL load in Qt [링크]
- 레퍼런스 문서 - QLibrary Class Reference [링크]
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(3, 0, 1); } | cs |
ps. 당연히 윈도우 기준이고 리눅스에선 안됩니다.
Qt 윈도우에서 MFC DLL 사용하기
반응형