백엔드 개발 C#.Net 튜토리얼 VS2017은 정적 라이브러리 구축을 완료합니다.

VS2017은 정적 라이브러리 구축을 완료합니다.

May 12, 2017 am 10:13 AM
studio visual

이 글은 주로 Visual Studio 2017의 정적 라이브러리 작성 관련 정보를 자세히 소개하고 있습니다. 관심 있는 친구들이 참고할 수 있습니다.

바퀴 만들기는 흥미로운 일입니다. 매우 대규모 프로젝트를 수행할 수 있는 강력한 도구이지만 솔직히 말해서 소규모 프로젝트를 구성하는 데는 그다지 친숙하지 않습니다(인터넷의 다른 튜토리얼은 전혀 Orz 친화적이지 않습니다). 여기서는 간단한 정적 라이브러리를 구축하는 올바른 접근 방식을 보여 드리겠습니다. (그런데

솔루션 만들기에 대해 조금 가르쳐 드리겠습니다. 많은 사람들이 프로젝트와 솔루션의 차이점을 구분하지 못합니다. VS에서는 프로젝트가 기본 실행 단위이고 솔루션은 여러 프로젝트 포함 ——우리의 정적 라이브러리에는 테스트용으로 여러 개의(.lib) 프로젝트와 하나의(.exe) 프로젝트가 포함됩니다. 솔루션은

헤더 파일과 소스 파일을 추가하세요. >이후 소스 파일 .cpp도 마찬가지입니다.

(참고로 .cpp 없이 .h 파일만 추가하면 작동하지 않습니다. 이러한 프로젝트는 .lib 라이브러리를 컴파일할 수 없으며 테스트할 때 다음과 같은 오류가 발생합니다. ""xxx.lib": 지정된 파일을 열 수 없습니다."가 나타납니다. Orz를 어떻게 아는지 묻지 마세요.

(또 다른 지정된 파일을 열 수 없는 이유는 .lib 생성 위치가 잘못되었기 때문입니다. . 여기에서 솔루션 탐색기->속성

속성

페이지

-> 출력 방향 출력 디렉터리

기본값은 디버그 디렉터리에 있으며 어떻게 잘못될 수 있는지 알 수 있습니다.)

그런 다음 코드를 작성할 수 있습니다.

//  MathLib.h
#pragma once
int add(int x, int y);
//  MathLib.cpp
#include "MathLib.h"
int add(int x, int y) { return x + y; }
로그인 후 복사

그런 다음 테스트할 프로젝트가 필요합니다( 처음에 제가 말한 것을 기억해 보세요. 솔루션은 여러 프로젝트를 가질 수 있으며 모두 실행 단위입니다(실행 단위를 호출하는 방법은 나중에 설명하겠습니다. 이것은 제가 직접 만든 개념입니다). 솔루션 탐색기:

이제 이전과 같이 콘솔을 선택하고 미리 컴파일된 헤더를 제거합니다. 이제 두 개의 프로젝트가 포함된 솔루션이 있습니다.

테스트 코드 작성

//  Test.cpp

#include "stdafx.h"
#include "..\MathLib\MathLib.h"
#include <iostream>

int main()
{
  std::cout << add(1, 2) << std::endl;
  return 0;
}
로그인 후 복사

이제 테스트에 MathLib의

참조

를 추가해야 합니다. 이 단계의 실제 기능은 IDE가 cl로 컴파일하도록 안내하는 것입니다. 컴파일러 명령줄에 올바른 링크 옵션을 추가합니다(CSAPP에는 매우 고무적인 설명이 있습니다. 소스 파일에 헤더 파일이 포함된 후에는 재배치되지 않은 여러 기호만 링커에 도입됩니다. 라이브러리 파일(정적 라이브러리의 경우

Linux는 .a 파일이고 Windows는 .lib임)을 사용하여 재배치를 완료합니다. 그림과 같이 솔루션 탐색기에 참조 추가

VS는 솔루션의 프로젝트를 대안으로 매우 신중하게 나열하므로 선택하기만 하면 됩니다.

이때 Test의 Reference에 MathLib 프로젝트가 있습니다.

다음 단계에서는 cl 컴파일러에 대한 포함 경로, 즉 사전 컴파일 기간 동안 MathLib.h를 찾아 기호 도입을 완료하는 방법을 추가합니다. 테스트 속성 속성 페이지->C++->일반->추가 포함 디렉터리에서 추가 포함 경로는 표준 라이브러리 헤더 파일 디렉터리 외에 다른 (사용자 지정) 헤더 파일에 포함된 디렉터리입니다. MathLib .h를 찾으려면 확인을 선택하여 MyStaticLibraryMathLib 디렉터리를 추가합니다.

이제 모든 것이 준비되었지만 F5 빌드 및 실행 결과에서 다음 오류가 보고되었습니다.

.lib는 유효한 win32 애플리케이션이 아니어서 실행할 수 없다고 나옵니다. 예, 원래는 실행하고 싶지 않았지만 VS는 솔루션의 수많은 프로젝트 중 어떤 프로젝트를 실행해야 하는지 어떻게 알 수 있습니까? (이전 실행 단위를 생각해보고 무슨 의미인지 이해하세요. 각 프로젝트의 컴파일 결과는 실행 가능한 것으로 간주됩니다.) 처음 추가된 프로젝트는 MathLib이므로 VS가 기본적으로 출력을 실행하므로 잘못된 것입니다. 테스트(Test.exe), 솔루션 탐색기->MyStaticLibrary 속성 속성 페이지의 출력을 실행하도록 VS를 안내하는 방법 찾기:

단일 시작 프로젝트를 테스트로 설정 , 좋아요.

【관련 추천】

1. ASP 무료 동영상 튜토리얼

ASP 튜토리얼

3. Li Yanhui의 ASP 기본 동영상 튜토리얼

위 내용은 VS2017은 정적 라이브러리 구축을 완료합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Windows 11은 VB6 애플리케이션을 지원합니까? Windows 11은 VB6 애플리케이션을 지원합니까? May 30, 2023 am 08:31 AM

Windows 11에는 더 많은 macOS 스타일 UI 요소가 도입되었습니다. 중앙에 시작 메뉴가 있는 새롭게 디자인된 작업 표시줄이 나타납니다. 예, 위치를 변경할 수 있지만 기본적으로 중앙에 배치됩니다. 제어 센터에도 일부 디자인이 변경되었습니다. 다음 업데이트에서는 새롭게 디자인된 메모장 및 미디어 플레이어와 함께 Android 앱에 대한 지원도 제공될 예정입니다. 이러한 모든 기능으로 인해 Windows 11은 Windows 10에 비해 훌륭한 업그레이드가 되었지만 사용자의 마음 속에는 어떤 의구심이 생기고 있습니다. Windows 11이 레거시 응용 프로그램과 기술을 지원할지, 뒤처져 있는지 여부에 대해 우려하는 사용자와 개발자 부문이 있습니다. 뷔 이후

Windows에서 VCRUNTIME140.dll 누락 오류를 수정하는 방법 Windows에서 VCRUNTIME140.dll 누락 오류를 수정하는 방법 May 04, 2023 am 08:04 AM

VCRUNTIME140.dllismissing 오류는 Windows의 Visual C++ 재배포 가능 파일에 문제가 있습니다. 이 튜토리얼을 사용하여 문제를 해결할 수 있습니다. Windows 응용 프로그램과 소프트웨어를 실행하려면 DLL 파일이 필요합니다. DLL 파일이 없으면 완전히 작동이 중지될 수 있습니다. 예를 들어 VCRUNTIME140.dllismissing 오류가 표시되면 PC에 이 파일이 없어 애플리케이션이 실행되지 않는다는 의미입니다. 이는 응용 프로그램 설치가 실패했기 때문일 수 있습니다. Windows 업데이트를 실행한 후에도 나타날 수 있습니다. 다행히도 쉽게 할 수 있어요

CONCRT140.dll을 찾을 수 없음 오류를 수정하는 4가지 방법 CONCRT140.dll을 찾을 수 없음 오류를 수정하는 4가지 방법 Apr 25, 2023 am 09:22 AM

너무 많은 사용자가 응용 프로그램을 실행하려고 할 때마다 CONCRT140.dll을 찾을 수 없기 때문에 코드 실행을 계속할 수 없다는 오류 메시지가 발생한다고 보고했습니다. Adobe 응용 프로그램, Halo, ForzaHorizon5 등을 열 때 CONCRT140.dll을 찾을 수 없는 경우가 있습니다. 따라서 이는 응용 프로그램별 문제가 아닙니다. 올바른 DLL을 설치하지 않으면 해당 코드가 이러한 라이브러리에 작성된 코드에 의존하기 때문에 애플리케이션이 제대로 작동하지 않습니다. 이 기사에서는 CONCRT140.dll이 무엇인지, 왜 누락되었는지, 다운로드하고 오류를 수정하는 방법에 대해 알아봅니다. 무엇인가요

수정: Microsoft Visual C++ 2015 재배포 가능 패키지 설치 실패 오류 0x80240017 수정: Microsoft Visual C++ 2015 재배포 가능 패키지 설치 실패 오류 0x80240017 Apr 18, 2023 pm 01:07 PM

Microsoft Visual C++는 가장 일반적인 응용 프로그램을 실행하는 데 필요한 Windows 운영 체제의 필수적인 부분이 되었습니다. 이제 일부 사용자는 최근 2015용 Visual C++ 재배포 가능 패키지 또는 2013용 Microsoft Visual Studio 재배포 가능 패키지를 설치하는 동안 발생한 문제에 대해 불만을 제기했습니다. 이러한 사용자에 따르면 설치 프로그램이 중간에 중지되고 "0x80240017 - 지정되지 않은 오류"가 표시되었다고 합니다. 이 오류에는 여러 가지 이유가 있을 수 있습니다. 그러니 이러지 마세요

Android Studio는 어떻게 사진을 Java 서버에 업로드합니까? Android Studio는 어떻게 사진을 Java 서버에 업로드합니까? Apr 28, 2023 pm 09:07 PM

1.build.gradle 구성(증가) 종속성{implementation'com.squareup.okhttp3:okhttp:4.9.0'implementation'org.conscrypt:conscrypt-android:2.5.1'} 2.AndroidManifest.xml은 애플리케이션에서 권한을 구성합니다. android:usesCleartextTraffic="true&q 추가

Mac용 Visual Studio 2022 17.0에는 기본 macOS UI 및 Apple Silicon 지원이 함께 제공됩니다. Mac용 Visual Studio 2022 17.0에는 기본 macOS UI 및 Apple Silicon 지원이 함께 제공됩니다. Apr 15, 2023 am 08:04 AM

Microsoft는 Mac용 Visual Studio 2022 17.0의 일반 릴리스를 발표했습니다. 기본 macOS UI 및 Apple Silicon 프로세서 지원을 포함하여 큰 변화를 가져옵니다. 회사에 따르면 이 버전과 함께 설치할 수 있는 새로운 미리보기 버전도 출시되었습니다. 이전 버전의 Mac용 Visual Studio에서 Microsoft는 상황을 이상하게 보이게 만드는 다양한 UI 기술을 사용했습니다. 이 업데이트는 다음을 사용합니다.

Microsoft, Visual Studio 2022 17.3 출시, 주요 내용은 다음과 같습니다. Microsoft, Visual Studio 2022 17.3 출시, 주요 내용은 다음과 같습니다. Apr 28, 2023 am 10:28 AM

Microsoft는 Visual Studio 202217.3을 출시했습니다. 이 업데이트는 .NETMAUI(.NET 다중 플랫폼 애플리케이션 UI)에 대한 지원, Microsoft Teams용 애플리케이션 개발 기능, C++ 개선 사항, Azure 컨테이너 앱 및 향상된 Live Unit Testing을 제공합니다. Visual Studio에서 도움말 > 새로운 기능을 열면 새로운 기능의 전체 목록을 볼 수 있습니다. 이 업데이트의 주요 기능은 .NETMAUI가 미리 보기 지원을 종료하고 이제 Windows의 Visual Studio 2022에서 사용할 수 있다는 것입니다.

Android Studio에서 Java 클래스의 기본 메서드를 실행할 수 없는 문제를 해결하는 방법 Android Studio에서 Java 클래스의 기본 메서드를 실행할 수 없는 문제를 해결하는 방법 May 17, 2023 pm 04:43 PM

환경 androidstudio 버전: 3.6.1 gradle 버전: 5.6.4 gradle 플러그인 버전: 3.6.1 오류 프롬프트 11:41:35PM: Executingtask'TxtUtil.main()'...Executingtasks:[TxtUtil.main()] inproject/Users/tintongtong/Documents/workspace/as/self/BlogDemoFAILURE:예외로 빌드 실패.*Wh

See all articles