QT에서 DLL 파일 호출

2128 단어 ITKwxWidgetsQT
동적 링크 라이브러리는 영어로 DLL이고 DLL은 프로젝트가 봉인된 함수를 호출하여 실제 블록의 중복 사용과 봉인을 할 수 있는 방법을 제공합니다.
HINSTANCE hfilter = LoadLibraryA("meanFilter_dll.dll");//should include 
typedef void(*pFilter)(char* inputFile); //      
pFilter meanFilter = (pNRSeg)GetProcAddress(hfilter, "meanFilter_dll"); 
meanFilter(argv[1]);//      
FreeLibrary(hfilter);

위의 DLL 파일 호출은 일반적인 호출 방법에 속하며 QT, wxWidgets 등 라이브러리 개발 소프트웨어에서 상기 코드 블록으로 호출할 수 있다.
DLL 파일을 생성하는 방법은 매우 많은데 본고는 실행 가능한 방식을 제공하고 CMAKE로 이 프로젝트를 관리한다.
//meanFilter.h  
//  ITK     
#include 
#include 
#include 
#include 

#ifdef OCTSeg_EXPORTS
#define OCTSeg_API __declspec(dllexport)
#else
#define OCTSeg_API __declspec(dllimport)
#endif

extern "C" OCTSeg_API void meanFilter_dll(char* inputFilename);

CMakeLists에서txt에 코드를 추가하려면 다음과 같이 하십시오.
//meanFilter.cpp      ,    ITK  
ADD_LIBRARY(meanFilter_dll SHARED meanFilter.cpp) 
TARGET_LINK_LIBRARIES(meanFilter_dll ${ITK_LIBRARIES} )

좋은 웹페이지 즐겨찾기