정적 라이브러리를 만들어 로드해 봅니다.
3909 단어 VisualStudio2017
소개
Visual Studio 2017에서 정적 라이브러리(.lib)를 사용하여 실행 파일을 만드는 방법을 설명합니다.
Visual Studio를 사용하면 여러 프로젝트를 함께 관리하는 솔루션이라는 컨테이너를 쉽게 만들 수 있습니다.
이것을 사용하면 정적 라이브러리와 실행 파일 앱을 단독으로 만들 수 있으므로 매우 편리합니다.
[イメージ]
ソリューション
├プロジェクト1(.lib)
└プロジェクト2(.exe) ← プロジェクト1(.lib)を使用するプロジェクト
솔루션 (및 정적 라이브러리 프로젝트) 만들기
ファイル(F) -> 新規作成(N) -> プロジェクト(P)
를 선택하여 솔루션과 새 프로젝트를 만듭니다.
[イメージ]
ソリューション
├プロジェクト1(.lib)
└プロジェクト2(.exe) ← プロジェクト1(.lib)を使用するプロジェクト
ファイル(F) -> 新規作成(N) -> プロジェクト(P)
를 선택하여 솔루션과 새 프로젝트를 만듭니다.Win32 プロジェクト
선택 LibProject
로 한다 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/Debug
에 LibProject.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를 빌드하도록 설정하고 있습니다.
Reference
이 문제에 관하여(정적 라이브러리를 만들어 로드해 봅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/izuki_y/items/b6f35838c17bbab2d489
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#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를 빌드하도록 설정하고 있습니다.
Reference
이 문제에 관하여(정적 라이브러리를 만들어 로드해 봅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/izuki_y/items/b6f35838c17bbab2d489
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(정적 라이브러리를 만들어 로드해 봅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/izuki_y/items/b6f35838c17bbab2d489텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)