QT에서 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} )