web-dev-qa-db-ja.com

DEBUG:FASTLINK-このエラーは何ですか?

#include <iostream>
#include <map>
#include <iterator>

using namespace std;

int main() {
    FILE *fPtr = fopen("english.txt", "r");

    if (fPtr == NULL) {
        cout << "Could not open the file." << endl;
        system("pause");
        return 0;
    }
    char Word[100];
    map <string, int> freq;
    while (!feof(fPtr)) {
        fscanf(fPtr, "%s", Word);
        freq[Word]++;
    }
    multimap <int, string > freq_rev;
    map<string, int>::iterator it;
    for (it = freq.begin(); it != freq.end(); it++)
        freq_rev.insert(make_pair(it->second, it->first));

    multimap <int, string>::reverse_iterator myit;
    int count;
    for (myit = freq_rev.rbegin(), count = 0; count < 10; myit++, count++)
        cout << (*myit).second << " " << (*myit).first << endl;
    fclose(fPtr);
    system("pause");
    return 0;
}

Visual Studio 2017 for DataStructuresコースを使用しています。上記のコードは、多くの単語を含むenglish.txtファイルを調べて、これらの単語の頻度を検出し、頻繁に使用される上位10個の単語を出力することになっています。

コードのエラーに到達する前に、VS 17はこれを与えます エラー

C:/ Users/username/documents/visual studio 2017/Projects/projectname/projectname/Debug/projectname.obj'.projectname.exeが/ DEBUG:FASTLINKでビルドされており、デバッグ用のオブジェクトファイルが必要です。

それ以降の障害は、[出力]ウィンドウの[デバッグ]ペインに記録されます。

私は経験豊富なプログラマーではありません。グーグルで検索しましたが、役立つものが見つかりませんでした。これはどうあるべきですか、どうすればよいですか?

5
user6317336

/ DEBUG:FASTLINKは、Visual Studio内の増分開発者ループのリンク時間を改善することを目的としており、中規模から大規模のプロジェクトでは最大2倍のゲインが得られます。/DEBUG:FASTLINKの詳細については、次のブログを参照してください。

https://blogs.msdn.Microsoft.com/vcblog/2016/10/05/faster-c-build-cycle-in-vs-15-with-debugfastlink/

エラーメッセージによると、プロジェクトがエラーなしで正常にビルドできることを確認してください。これにより、すべてのファイルを正常に生成できるようになります。

次に、プロジェクトのプロパティをチェックして、デバッグ情報の生成を高速リンク用に最適化されたデバッグ情報の生成(/ DEBUG:FASTLINK)として設定完全なプログラムデータベースファイルをYesとして生成します

enter image description here

5
Wendy

私はVS2017を使用していますが、最近この問題に遭遇しました。アトラスエラーレポートが間違っていることがわかりました。私のプロジェクトプロパティでは、値は報告された状態とは何の関係もありません。

「リンカー->デバッグ->デバッグ情報の生成」は
"デバッグ情報の生成/ DEBUG"、/ DEBUG:FASTLINKではありません

そして、これを解決する方法は?次のフィールドのプロジェクトプロパティに異なる値があることを確認してください。

リンカー->デバッグ->プログラムデータベースファイルの生成
v.s。
C/C++ "->出力ファイル->プログラムデータベースファイル名

私の場合、それらは同じであるため、レポートは状況を誤解していました。別のファイル拡張子名など、それらの1つを変更するか、ファイル名にアンダースコアを追加します。

幸運を!

4

/ DEBUG:FASTLINKオプションは、Visual Studio2017以降で使用できます。エラーを回避するために、オプションを/ DEBUG:FULLに変更できます。次の手順に従うことができます。

プロジェクトのプロパティページダイアログボックスを開き、リンカー->デバッグ->デバッグ情報の生成次に、/ DEBUG:FULLオプションを選択します。お役に立てば幸いです。

ちなみに、 ここ をクリックすると、オプションの詳細が表示されます。

0
Nicolas Gong