[C++] 내가 정적 라이브러리(Static Library) 추가할 줄 모른다고?②

2023. 8. 6. 08:23Programming/C++

반응형

2023.08.05 - [Programming/C++] - [C++] 내가 정적 라이브러리(Static Library) 추가할 줄 모른다고?①

 

[C++] 내가 정적 라이브러리(Static Library) 추가할 줄 모른다고?①

회사에서 C++ 관련 업무를 맡았다. 팀장님이 장비코드(MFC) 근무하는 동안 안 보게 해 주겠다고 약속하셨는데.. (팀장님 나빠요.) 나 스스로 놀란게 정적 라이브러리 추가하는 간단한 방법조차 생

itchbo.tistory.com

 

1편에서는 가장 간단하게 정적라이브러리를 추가하는 방법을 찾아봤다. 이렇게 추가하면 팀장님께 개발자에 대해서 다시 생각해 보라는 이야기를 들을 수도... 그렇다면 어떻게 추가하는 게 더 좋을까? 좀 더 1편에서 추가한 방법을 좀 더 개선해 보자!


목차

개선사항

StaticLib 프로젝트 수정

Test 프로젝트 수정

실행

 


개선사항

// test project main.cpp
#include "../StaticLib/StaticLib.cpp"

int main()
{
	fnStaticLib();
	return 0;
}

"../StaticLib/StaticLib.cpp"을 보자. 보통 .cpp 파일을 직접 추가하는 게 아니라 .h 파일을 추가한다. 이 부분을 개선해 보자

 


StaticLib 프로젝트 수정

StaticLib프로젝트 - 추가 -  새 항목

 

"StaticLib.h" 입력 - 추가

 

#pragma once

void fnStaticLib();

StaticLib.h 코드 입력

 

// StaticLib.cpp : 정적 라이브러리를 위한 함수를 정의합니다.
//

#include "pch.h"
#include "framework.h"
#include "StaticLib.h"
#include <iostream>

// TODO: 라이브러리 함수의 예제입니다.
void fnStaticLib()
{
	std::cout << "StaticLib" << std::endl;
}

StaticLib.cpp 파일 수정

 

반응형

test 프로젝트 수정

#include "../StaticLib/StaticLib.h"

int main()
{
	fnStaticLib();
	return 0;
}

test Project의 main.cpp 파일 수정

 

test  project의 참조 - 참조 추가

 

프로젝트 - StaticLib - 확인

 

test 프로젝트 StaticLib 확인

 


실행

정상작동 확인

 

이번에는 프로젝트 #include 경로를 변경하고 참조를 추가해서 .h로 추가하는 방법에 대해서 알아봤다. 이 방법은 같은 솔루션 안에 있는 정적라이브러리를 추가할 때 사용되는 방법이다. 이렇게 하면 이전 프로젝트(.cpp를 추가하는 프로젝트) 보단 덜 혼난다. 하지만 이 방법도 좀 더 개선할 사항이 많다. 다음 포스팅에서 알아보자.

 

포스팅에 대한 조언은 언제나 환영입니다.

반응형