-
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를 바로 써주면 된다.
'프로그래밍 > 잡지식' 카테고리의 다른 글
C# 에서는 순환 참조 문제를 어떻게 해결할까 (0) 2017.09.01 Google Play Login 구현 과정 (0) 2016.11.21 visual studio에서 동적, 정적 라이브러리 사용 (0) 2016.04.30