ホームページ バックエンド開発 C#.Net チュートリアル VS2017で静的ライブラリの構築が完了

VS2017で静的ライブラリの構築が完了

May 12, 2017 am 10:13 AM
studio visual

この記事では主に Visual Studio 2017 での静的ライブラリの作成に関する詳細を紹介します。興味のある方は参考にしてください。

ホイールの構築は強力なツールです。非常に大規模なプロジェクトを扱うことができますが、正直に言うと、小規模なプロジェクトの構成にはそれほどフレンドリーではありません(インターネット上の他のチュートリアルはまったくフレンドリーではありません)。ここでは、単純な静的ライブラリを構築するための正しいアプローチを示します。 (ところで、ソリューションの作成について少し教えてください。多くの人は、プロジェクトとソリューションの違いを理解できません。VS では、プロジェクトは基本的な実行単位であり、ソリューションには複数のプロジェクトを含めることができます - 私たちの静的ライブラリ解決策は、win32 コンソール アプリケーション コンソール

タイプを選択して静的ライブラリを選択し、プリコンパイル済みヘッダーのプリコンパイルを削除することです。ヘッダー オプション。

ヘッダー ファイルとソース ファイルを追加します。

(注意: .cpp ではなく .h ファイルのみを追加します。このようなプロジェクトは .lib ライブラリをコンパイルできません。テストすると、「xxx.lib」: 指定されたファイルを開けませんというエラーが表示されます。Orz)

(また。指定されたファイルを開けない理由の 1 つは、.lib が生成される場所が間違っていることです。ここで、ソリューション エクスプローラー->プロパティ

プロパティ

ページ

->出力方向出力ディレクトリ

を見てください。

デフォルトのものは Debug ディレクトリにありますが、それがどのように間違っているかは誰にもわかりません)

次に、コードを書くことができます:

//  MathLib.h
#pragma once
int add(int x, int y);
//  MathLib.cpp
#include "MathLib.h"
int add(int x, int y) { return x + y; }
ログイン後にコピー

次に、テストするプロジェクトが必要です (最初に述べたことを思い出してください、ソリューションには複数のプロジェクトを含めることができ、それらはすべて実行ユニットです (実行ユニットを呼び出す方法については後で説明します。これは私が独自に作成した概念です))、ソリューション エクスプローラーのソリューションに新しいプロジェクトを追加します:

コンソールを選択し、プリコンパイルされたヘッダーを削除し、前と同じことを行います。これで、2 つのプロジェクトを含むソリューションが完成しました:

テストコードを書く

//  Test.cpp

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

int main()
{
  std::cout << add(1, 2) << std::endl;
  return 0;
}
ログイン後にコピー

次に、テスト用に MathLib に

reference

を追加する必要があります。このステップの実際の機能は、ブート IDE で cl コンパイラ コマンドを使用することです。コンパイル時に、正しいリンク オプションを追加します (CSAPP には非常に刺激的な説明があります。ソース ファイル #includes にヘッダー ファイルが追加されるだけです。再配置されていないシンボルは、ライブラリ ファイル内にある必要があります (静的ライブラリの場合、

Linux は .a ファイル (Windows は .lib) であり、再配置を完了するにはこれらのシンボルを見つけることが非常に重要です)。図のように、ソリューション エクスプローラーに参照を追加します

VS は、ソリューション内のプロジェクトを非常に慎重にリストします。オプションを選択した場合は、それを選択するだけです。

現時点では、Test のリファレンスに MathLib プロジェクトがあります。

次のステップは、cl コンパイラーのインクルード パスを追加することです。つまり、プリコンパイル中に MathLib.h を見つけてシンボルの導入を完了する方法です。 [テスト プロパティ] プロパティ ページ -> C++ -> 一般 -> 追加のインクルード ディレクトリでは、追加のインクルード パスは、標準ライブラリ ヘッダー ファイル ディレクトリに加えて、他の (カスタム) ヘッダー ファイルに含まれるディレクトリであり、 cl はこれらの場所に移動する必要があります。 MathLib .h を見つけます。 [OK] を選択して、MyStaticLibraryMathLib ディレクトリを追加します。

この時点ですべての準備が整いましたが、F5 のビルドと実行の結果で次のエラーが報告されました:

.lib は有効な win32 アプリケーションではないため、実行できませんと表示されます。はい、もともと実行するつもりはありませんでしたが、ソリューション内の非常に多くのプロジェクトのうちどれを実行する必要があるかを VS はどのようにして知るのでしょうか? (前の実行単位を考えて、その意味を理解してください。各プロジェクトのコンパイル結果が実行可能とみなされます) 最初に追加されたプロジェクトは MathLib なので、VS はデフォルトでその出力を実行するため、これは間違いです。 VS がテスト (Test.exe) の出力を実行するようにガイドする方法を見つけます。ソリューション エクスプローラー -> MyStaticLibrary プロパティ プロパティ ページ:

単一のスタートアップ プロジェクトを Test に設定します。OK。

【関連する推奨事項】

1. ASP無料ビデオチュートリアル

3. Li Yanhui ASP基本ビデオチュートリアル

以上がVS2017で静的ライブラリの構築が完了の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

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 が従来のアプリケーションやテクノロジをサポートするかどうかを懸念している層がいます。 V以降

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 Update の実行後にも表示されることがあります。ありがたいことに、簡単にできます

CONCRT140.dllが見つからないエラーを修正する4つの方法 CONCRT140.dllが見つからないエラーを修正する4つの方法 Apr 25, 2023 am 09:22 AM

非常に多くのユーザーが、アプリケーションを実行しようとすると、CONCRT140.dll が見つからないためコードの実行を続行できないというエラー メッセージが表示されると報告しています。 Adobe アプリケーション、Halo、ForzaHorizo​​n5 などを開くと、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 オペレーティング システムの不可欠な部分になっています。現在、一部のユーザーから、Visual C++ 再頒布可能パッケージ (2015 年) または Microsoft Visual Studio 再頒布可能パッケージ (2013 年) をインストールしようとしたときに発生した問題について苦情が寄せられています。これらのユーザーによると、インストーラーが途中で停止し、「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 を追加します

Visual Studio 2022 for Mac 17.0 には、ネイティブ macOS UI と Apple Silicon サポートが付属しています Visual Studio 2022 for Mac 17.0 には、ネイティブ macOS UI と Apple Silicon サポートが付属しています Apr 15, 2023 am 08:04 AM

Microsoft は、Visual Studio 2022 for Mac 17.0 の一般リリースを発表しました。ネイティブ macOS UI や Apple Silicon プロセッサのサポートなど、大きな変更が加えられています。同社によれば、このバージョンと並行してインストールできる新しいプレビュー バージョンもリリースされたとのことです。 Visual Studio for Mac の古いバージョンでは、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 をリリースしました。この更新により、.NET マルチプラットフォーム アプリケーション UI (.NETMAUI) のサポート、Microsoft Teams 用のアプリケーション開発機能、C++ の改善、Azure Container Apps、および改善された Live Unit Testing が提供されます。 Visual Studio で [ヘルプ] > [新機能] を開くと、新機能の完全なリストを確認できます。この更新プログラムの主な機能は、.NETMAUI がプレビュー サポートを終了し、Windows 上の Visual Studio 2022 で利用できるようになったということです。

Android StudioでJavaクラスのmainメソッドが実行できない問題の解決方法 Android StudioでJavaクラスのmainメソッドが実行できない問題の解決方法 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/ tinytongtong/Documents/workspace/as/self/BlogDemoFAILURE:BuildfailedwithanException.*Wh

See all articles