Qt dll 내보내기 및 호출

4217 단어 Qt
Qt의 동적 링크 라이브러리 내보내기
testdll_global.h
#ifndef TESTDLL_GLOBAL_H
#define TESTDLL_GLOBAL_H

#include 

#if defined(TESTDLL_LIBRARY)
#  define TESTDLLSHARED_EXPORT Q_DECL_EXPORT
#else
#  define TESTDLLSHARED_EXPORT Q_DECL_IMPORT
#endif

#endif // TESTDLL_GLOBAL_H

testdll.h
#ifndef TESTDLL_H
#define TESTDLL_H
#include 
 
  
 
  
#include "testdll_global.h"
 
  
class TESTDLLSHARED_EXPORT Testdll
{
    
public:
    Testdll();
public:
    static void add( int a1, int a2 );
    static void sub( int s1, int s2 );
};
 
  
extern "c" TESTDLLSHARED_EXPORT void mul( int m1, int m2 );
#endif // TESTDLL_H
 
   
   testdll.cpp 
   
  
#include "testdll.h"


Testdll::Testdll()
{
}

void Testdll::add(int a1, int a2)
{
    qDebug()<

컴파일 후lib 파일과 dll 파일 생성
dll 파일의 스텔스 호출
1 호출 프로그램에testdll을 도입해야 합니다.h 파일
2testdll을 가져와야 합니다.lib 파일 #pragma comment(lib, "testdll.lib")
        
#include 

#include "./lib/testdll_global.h"
#include "./lib/testdll.h"
#include 

#pragma comment(lib, "./lib/testdll.lib")
TESTDLLSHARED_EXPORT void mul( int, int);

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    Testdll::add( 3, 5 );
    Testdll::sub( 5, 2 );
    mul( 2, 7);
    return a.exec();
}

좋은 웹페이지 즐겨찾기