-
visual studio에서 동적, 정적 라이브러리 사용프로그래밍/잡지식 2016. 4. 30. 19:35
1. DLL
dll을 사용하려면 헤더파일, lib파일, dll파일 세가지가 필요하다.
먼저 다운받은 라이브러리의 include 폴더의 경로를 다음과같이 포함(include) 디렉터리에 넣는다.
*이것을 하지 않으면 라이브러리의 헤더를 include할 수가 없다.그 다음 lib 파일이 들어있는 경로를 링커 -> 일반의 추가 라이브러리 디렉터리에 지정한다.
*lib 파일은 우리가 DLL 내부에서 선언/정의된 심볼을 사용하여 다른 바이너리를 빌드할 수 있도록 해주는 일종의 심볼 사전이다.
링커 -> 입력 -> 추가종속성 에 쓸 lib파일을 기입한다.
이때 디버그, 릴리즈는 각각 지정해주어야하므로 유의 하자.
마지막으로 dll파일을 프로젝트 폴더에 복사해서 붙여넣는다.
<이때 주의 할 점>
dll은 크기가 작은 대신, 빌드시 동적으로 링킹을 하기 때문에 다른 폴더에 있으면 링킹이 안된다. 또한 visual studio는 어떤짓을 하더라도 복사해주지 않는다. 따라서 dll을 사용하려면, dll파일은 현재 프로젝트에 복사해야 한다.
다음과 같이 사용 할 수 있다.
(BasicOperation의 코드는 앞에서 라이브러리 만들 때 다루었다.)
#include <iostream>
#include "BasicOperation.h" //라이브러리의 헤더
int main()
{
std::cout << "1 + 3 = " << Math::BasicOperation::Plus(1, 3) << std::endl;
return 0;
}
2. static 라이브러리
dll보다 한단계 간단하다. 위의 세번째 사진, 즉 dll파일을 추가 종속성 란에 기입하는 과정만 없고 앞부분은 같다.
'프로그래밍 > 잡지식' 카테고리의 다른 글
C# 에서는 순환 참조 문제를 어떻게 해결할까 (0) 2017.09.01 Google Play Login 구현 과정 (0) 2016.11.21 visual studio에서 동적, 정적 라이브러리 만들기 (0) 2016.04.30