정적 라이브러리를 만들어 로드해 봅니다.

3909 단어 VisualStudio2017

소개



Visual Studio 2017에서 정적 라이브러리(.lib)를 사용하여 실행 파일을 만드는 방법을 설명합니다.

Visual Studio를 사용하면 여러 프로젝트를 함께 관리하는 솔루션이라는 컨테이너를 쉽게 만들 수 있습니다.
이것을 사용하면 정적 라이브러리와 실행 파일 앱을 단독으로 만들 수 있으므로 매우 편리합니다.
[イメージ]

ソリューション
  ├プロジェクト1(.lib)
  └プロジェクト2(.exe) ← プロジェクト1(.lib)を使用するプロジェクト

솔루션 (및 정적 라이브러리 프로젝트) 만들기


ファイル(F) -> 新規作成(N) -> プロジェクト(P)를 선택하여 솔루션과 새 프로젝트를 만듭니다.


  • Win32 プロジェクト 선택
  • 이름(N)을 LibProject 로 한다
  • 솔루션 이름(M)을 HelloWorld로 설정
  • 次へ -> アプリケーション設定 화면으로 전환합니다.


  • スタティックライブラリ(S) 선택
  • 그 외의 체크 항목은 제외한다

  • 소스 파일 -> 추가 -> 새 항목 에서 StaticLibTest.c 를 만들고 다음을 복사
    #include <stdio.h>
    #include "StaticLibTest.h"
    
    int TestFunc() {
    
        printf("Hello World\n");
    
        return 0;
    }
    

    헤더 파일 -> 추가 -> 새 항목에서 StaticLibTest.h 를 작성하고 다음을 복사
    #pragma once
    
    int TestFunc();
    
    

    빌드하여 HelloWorld/DebugLibProject.lib 가 되어 있는지 확인한다.

    실행 프로젝트 추가



    솔루션 (HelloWorld)을 선택하고 추가 -> 새 프로젝트 선택


    + Win32 プロジェクト 선택
    + 이름(N)을 EXEProject로 설정
    + 솔루션 이름(M)을 HelloWorld로 설정

    소스 파일 -> 추가 -> 새 항목 에서 main.c 를 만들고 다음을 복사
    #include "StaticLibTest.h"
    
    int main() {
    
        TestFunc();
    
        return 0;
    }
    

    속성 설정



    여기에서는 정적 라이브러리에서 함수를 호출하기위한 설정을합니다.

    정적 라이브러리에서 함수 호출이지만 먼저 정적 라이브러리에서 .h가 필요합니다.
    이번 예라면 StaticLibTest.h 입니다.
    이것을 Visual Stduio 構成プロパティ -> C/C++ -> 追加インクルード 에서 지정합시다.
    지정할 때는 LibProject의 .h 위치를 상대 경로로 참조합시다.

    그런 다음 사용할 lib를 지정합니다.構成プロパティ -> リンカ -> 入力 -> 追加の依存ファイル 에 추가합시다.

    마지막으로 사용할 lib가 있는 디렉토리를 지정합니다.構成プロパティ -> リンカ -> 全般 -> 追加のライブラリディレクトリ 에 추가합시다.
    라이브러리는 솔루션 바로 아래의 Debug 폴더내를 지정한다.

    이제 LibProject -> EXEProject 순서로 빌드하면 빌드가 그대로 HelloWorld가 표시되는 것을 확인할 수 있다고 생각합니다.

    어쩌면



    솔루션을 다시 빌드하거나 EXEProject를 먼저 빌드하면 LNK1104 ファイルLibProject.libを開くことが出来ません와 오류가 발생할 수 있습니다.
    그런 다음 솔루션의 속성에서 プロジェクトの依存関係를 선택하여 프로젝트를 EXEProject로 선택하고 종속 대상 LibProject로 체크 아웃합니다.



    이것은 EXEProject는 LibProject에 의존하기 때문에 LibProject가 올바르게 빌드 된 후 EXEProject를 빌드하도록 설정하고 있습니다.

    좋은 웹페이지 즐겨찾기