vs2017のcl.exeおよびlinker.exeを使用してリンカーをコンパイルします

環境変数の設定

コンピュータプログラムごとにインストールプログラムパスが異なるため、環境変数の追加は似ています。最初にvs2017をインストールしましたが、後でインストールするMFCボードは少し異なる場合があります。コマンドラインでプログラムを実行するときに、環境変数の設定が実際に必要になります。ウィンドウ。リストに追加された.libファイルと.hファイルは、パスパス
環境変数
に追加された環境変数参照している可能性があります。リストの最後の2つは、他のソフトウェアの
最後から2番目とインストールの残りの部分へのパスです。ディレクトリは
最初のものはしているの逆数
ここに画像の説明を挿入します
ILBという名前の新しい環境変数の作成Cドライブの固定のフォルダの下に、そして次のパスを追加します。
ここに画像の説明を挿入します
含めるという名前の新しい環境変数を作成し、次のパスを追加します
ここに画像の説明を挿入します

helloworldプログラムを実行します

デスクトップに新しいファイルを作成し、サフィックス名をcppに変更します
ここに画像の説明を挿入します

次のコードを入力してください

#include<iostream>
using namespace std;
int main()
{
	cout << "hello world!" << endl;
	return 0;
}

win10の下のcmdコマンドラインウィンドウを開き
ここに画像の説明を挿入します
、コマンドcd Desktopを入力してEnterキーを押すと、現在の操作ディレクトリがデスクトップに変更されます。
ここに画像の説明を挿入します
コマンドcl / c hello.cppを入力
し、Enterキー押してhello.cppをコンパイルします。 objファイルが正常に生成されます。
ここに画像の説明を挿入します
このとき、hello.objがデスクトップに表示されます。ファイル
ここに画像の説明を挿入します
最後に、objファイルをリンクしてexeファイルを生成します。

ここに画像の説明を挿入します
このとき、デスクトップで.exeファイルが生成されます。
ここに画像の説明を挿入します
最後に、コマンドラインckでhello.exeと直接入力し
てプログラム実行すると、下の図にhelloworldが表示されます。プログラムは正常に実行されます
ここに画像の説明を挿入します

WindowsAPIプログラムを実行する

Windows APIプログラムのソースコード:https//blog.csdn.net/xianyudewo/article/details/108750300
プロジェクトファイルセットは次のとおりです
ここに画像の説明を挿入します
複雑見えますが、vsエンジニアリングプロジェクトでは、2つのソースファイルと1つのrcファイル。残りのファイルは無視できるので、
ここに画像の説明を挿入します
2つのcppファイルと1つのrcファイルをコンパイルし、最後にリンクするだけで済みます。

コンパイル

ここに画像の説明を挿入します

リンク

次のエラーが発生しました。クエリ後、次のエラーはステートメントのみが定義されていないことを意味します。
ここに画像の説明を挿入します
解決策:
VSでプロジェクトを開き、プロジェクト
ここに画像の説明を挿入します
の入力を選択->プロパティ選択リンカー->追加の依存関係の.ilbファイルを選択します。すべてコピー、コマンドラインウィンドウに貼り付け
追加の依存関係の最後奇妙なファイル名があり、後続の操作に影響を与えることなくコマンドラインウィンドウで直接削除できます

ここに画像の説明を挿入します
ここに画像の説明を挿入します

実行

Win32Project1.exeと入力し、Enterキーを押します
ここに画像の説明を挿入します

MFCプログラムを実行する

vsで新しいダイアログベースのMFCプログラムを作成します。特定の操作:https//blog.csdn.net/xianyudewo/article/details/109026993
Windows APIプログラムと同様に、vsプロジェクトで表示されます。3つの.cppファイルと1つの.rcファイルがあります。
ここに画像の説明を挿入します

コンパイル

ここに画像の説明を挿入します

リンク

ここに画像の説明を挿入します

実行

ここに画像の説明を挿入します

総括する:

コンパイルやリンクの過程で、数えきれないほど多くの問題に遭遇しましたが、強力なBaiduの助けを借りて、1つずつ解決しました。私の専門知識が十分でないため、非常に充実していて時間がかかります。 。カバレッジは十分に広くありません。

私が遭遇した問題の種類を要約しましょう:
1。.hファイルと.libファイル
がありませんこの場合、強力なBaiduを使用してファイルがどのフォルダーにあるかを確認し、対応するパスをに追加する方法を学ぶ必要があります。環境変数。.hファイルの場合は、インクルード環境変数へのパスを追加し、.libファイルの場合は、環境変数をlib環境変数に追加します。
または、コンピューターの各ディスクでファイル名を直接検索して、どのフォルダーが正しいかを判断することもできます(一意でない可能性があるため、バージョンの違いや、コンピューターのビット番号の問題(私の場合はx86など)がすべて追加されています) x86フォルダです)
2。解決できない外部シンボル。
これは、宣言はあるが定義されていないことを意味します。対応するソフトウェアで依存ライブラリファイル名を確認して追加します。機能しない場合は、問題のタイプです。
参考:
https://blog.csdn.net/ qq_43279579 /記事/詳細/ 108851773
https://bbs.csdn.net/topics/300118581?locationNum=9
https://blog.csdn.net/weixin_44078318/article / details / 104861237
rc.exe関連の設定について、それを紹介しているブログが見つかりません

おすすめ

転載: blog.csdn.net/xianyudewo/article/details/109078567