ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • visual studio에서 동적, 정적 라이브러리 만들기
    프로그래밍/잡지식 2016. 4. 30. 19:57

    동적, 정적 라이브러리를 만드는 기본적인 방식을 설명하고, 

    외부에서 사용하기 쉽게 프로젝트를 정리하는 법에 대해 말하겠다.


    1. 동적 라이브러리


    동적 라이브러리 생성의 기본적인 것은 이분이 잘 정리를 해 놓으셨다.

    http://exportidea.blogspot.kr/2013/08/windows-dll.html


    2. 정적 라이브러리


    동적 라이브러리와 달리 정적 라이브러리는 할일이 거의 없다.


    헤더파일과 cpp파일만 있으면 충분하다.

    간단하게 짜면 다음과같다.


    //BasicOperation.h


    namespace Math {


    class BasicOperation {

    public:

    inline static int Plus(int n1, int n2) { return n1 + n2; };

    inline static int Sub(int n1, int n2) { return n1 - n2; };

    inline static int Mult(int n1, int n2) { return n1 * n2; };

    };

    }


    //BasicOperation.cpp

    #include "BasicOperation.h"



    3. 프로젝트 정리


    동적 라이브러리를 외부에서 쓰기 위해서는 세가지가 필요하다.

    include 할 헤더파일의 위치, lib파일 위치, dll파일


    이를 쉽게 지정하기 위해서는 헤더파일은 include 폴더에, lib파일과 dll파일은 lib폴더에 넣어주어야 한다.


    include폴더는 직접 따로 만들어서 헤더파일을 넣고, 다음과같이 포함 디렉터리에 그 폴더를 지정해준다.




    이때 cpp파일까지 같이 넣지 않도록 한다. 외부에서 필요한 것은 헤더 파일 뿐이다. cpp파일과 헤더파일의 경로가 달라도 위와같이 설정해주면 include 잘된다.


    lib파일과 dll파일은 프로젝트 빌드 후 lib라는 폴더에 출력되도록 해야한다. 

    따라서 속성 페이지에서 다음과같이 출력 디렉터리를 지정해준다.



    이때 절대 경로보다는 상대경로, 또는 위와같이 매크로로 지정해주는것이 좋다. 

    $(Project)는 현재 프로젝트 경로를 의미하는 매크로이고, \를 포함하기 때문에 lib를 바로 써주면 된다.





Designed by Tistory.