c++에서 {fmt} 라이브러리를 추가해 사용하는 절차는 무엇입니까?

안녕하세요, c++에서 {fmt} 라이브러리를 추가해서 사용하고 싶은데, 정확하게 어떤 방식으로 추가해서 사용하는지를 몰라서 글을 작성합니다. 인터넷에 아무리 검색해도 fmt를 사용하는 방법은 나와 있는데 추가하는 방법은 도저히 못 찾겠어서 그렇습니다 ㅜㅠ…

우선 제가 진행한 절차를 그대로 적겠습니다.

  • 윈도우10에서 vs2022 실행
  • 새 프로젝트 생성
  • 윈도우 데스크톱 마법사 c++ 선택
  • 미리 컴파일된 헤더 체크 후 프로젝트 생성
  • fmt 깃허브에서 저장소 클론
  • 솔루션 탐색기 → 프로젝트 우클릭 → 속성 → C/C++ → 일반 → 추가 포함 디렉터리 편집 → 다운받은 저장소를 추가 포함 디렉터리에 ...\include 폴더를 추가
  • 다음과 같이 코드를 작성 후 실행
#include "pch.h"
#include <iostream>
#include <fmt/core.h>

int main()
{
	fmt::print("Hello c++ world...\n");
}

그러면 다음과 같은 에러가 발생합니다.

image

여기에서 제가 생각한 것은 헤더파일만 추가해줘서 이런 오류가 발생하는 게 아닌가? 라고 생각해서 소스파일 3개를 소스파일 폴더에 추가해주었습니다. (fmt.cc, format.cc, os.cc)

그리고 빌드를 하면 다음과 같은 에러가 발생합니다.

image

다른 라이브러리들은 .lib 파일이나 .dll 파일을 자체적으로 포함하고 있어서 링커의 일반과 입력 항목에 설정을 해주면 되는데, {fmt}는 .cc 파일밖에 존재하지를 않습니다…

여기까지가 제가 시도한 내용들인데… 혹시 제가 어떻게 해야 하는지 알려주실 수 있으십니까?

1개의 좋아요

fmt 헤더만 포함하면 됩니다만 Formatting library (since C++20) 쓰세요

1개의 좋아요

제 프로젝트 열어보니 프로젝트에 fmt h, cc 포함되어 있네요
일단 link.exe가 죽는 걸 보면 설치에 문제가 있는 게 아닌지…

1개의 좋아요

cmake로 빌드하셔야 합니다.
빌드하면 .lib나오는데 그 파일을 링크 걸어야 하네요.

2개의 좋아요

c++이 완전 처음이어서 열심히 찾아보고 있습니다 ㅜㅠ 감사합니다

1개의 좋아요