이 페이지에서

타사 라이브러리 사용

qmake를 사용하면 Qt와 함께 타사 라이브러리를 사용할 수 있습니다. 고양이 울음소리의 오디오 샘플을 받아 이를 영어 단어로 변환해 주는 크로스 플랫폼 라이브러리가 있다고 가정해 봅시다. 이 라이브러리의 이름은 CatWhisperer 이며, 라이브러리의 일부로 여러 파일을 제공합니다. 여러분의 프로젝트인 MyQtApp 는 이러한 파일들을 3rdparty 라는 폴더에 저장합니다:

  • MyQtApp/
    • MyQtApp.pro
    • src/
      • main.cpp
    • 3rdparty/
      • CatWhisperer
        • include/
          • CatWhisperer.h
        • lib/
          • libCatWhisperer.so
          • CatWhisperer.lib
        • bin/
          • CatWhisperer.dll

MyQtApp 에서 CatWhisperer 라이브러리를 사용하려면, qmake 는 CatWhisperer 라이브러리의 위치와 이름을 필요로 합니다. 선택적으로 다음을 수행할 수도 있습니다:

  • CatWhisperer 소스 코드의 위치를 지정하여, 자신의 코드에 파일을 포함시킬 때 각 파일의 전체 경로를 일일이 입력할 필요가 없도록 할 수 있습니다.
  • MyQtApp 실행 파일이 생성될 대상 위치를 선택할 수 있습니다.

위의 정보는 ` .pro ` 파일에 제공되며, 이를 통해 ` qmake `가 해당 정보를 분석하여 메이크파일을 생성할 수 있습니다. 메이크파일에는 실행 파일, 다른 라이브러리 파일 등 출력을 생성하는 데 컴파일러와 링커가 필요로 하는 모든 정보가 포함되어 있습니다. 다음 섹션에서는 ` qmake `가 이 정보를 제공받기를 기대하는 구문에 대해 설명합니다.

소스 코드

다음과 같이 작성하려면

#include <CatWhisperer.h>

대신

#include <3rdparty/CatWhisperer/include/CatWhisperer.h>

CatWhisperer include 디렉터리의 경로를 INCLUDEPATH 변수를 사용하여 지정할 수 있습니다:

INCLUDEPATH += 3rdparty/CatWhisperer/include

라이브러리 파일

qmake 가 CatWhisperer 라이브러리 파일을 찾을 위치를 알 수 있도록 하려면 LIBS 변수를 사용하십시오:

LIBS += -L"3rdparty/CatWhisperer/lib" -lCatWhisperer

표현식의 첫 번째 부분은 링커가 라이브러리 파일을 어느 디렉터리에서 찾아야 하는지 알려줍니다. 큰따옴표는 경로에 공백이 포함된 경우에만 필요하므로, 이 예제에서는 생략할 수도 있었습니다.

두 번째 부분은 링커에게 어떤 라이브러리를 링크 대상으로 할지 알려줍니다. UNIX 플랫폼용과 Windows용으로는 각각 libCatWhisperer.so 과 CatWhisperer.lib 이라는 두 가지 다른 라이브러리 파일이 있습니다. .lib 확장자나 lib 접두사(UNIX 플랫폼에서)를 명시할 필요는 없습니다.

대상 디렉터리

기본적으로 qmake 는 .pro 파일과 동일한 디렉터리에 실행 파일을 생성합니다. DESTDIR 변수를 사용하여 원하는 디렉터리를 지정할 수 있습니다:

DESTDIR = bin

이것으로 끝입니다! 이제 프로젝트에서 CatWhisperer 라이브러리를 사용할 수 있습니다. 최종 .pro 파일은 다음과 같습니다:

TARGET = MyQtApp

TEMPLATE = app

INCLUDEPATH += 3rdparty/CatWhisperer/include

SOURCES += src/main.cpp

LIBS += -L"3rdparty/CatWhisperer/lib" -lCatWhisperer

관련 항목: Qt Creator: qmake 프로젝트에 라이브러리 추가.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.