質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • C++

    4431questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • MFC

    144questions

    MFC (Microsoft Fouondation Class)とは、MicrosoftがVC++用に開発したWindows用アプリケーションのフレームワークです。

Visual Studio 2013 で C++ MFC で、ビルドエラーが解消されません。

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,857

m24yama

score 18

お世話になります。
Visual Studio 2013/VC++ MFC でコーディングしています。
昨日までは、ビルドできていたのですが、今日になって
ビルドするとエラーになります。
新規でプロジェクトを作成して、ソースは全てそのままのものを使っています。
なぜエラーになるのかが、どうしてもわかりません。
エラーは下記の通りです。

ABC_LOGGER.cpp(279): error C2065: 'CAtlString' : 定義されていない識別子です。


ヘッダーファイルも何も変えていないのですが、どうしたら解消されるのでしょうか?
どうかよろしくお願いします。

昨日も今日の下記の通りのソースです。

std::string strDir;
CAtlString EnvStr;

strDir = EnvStr.GetEnvironmentVariableW(_T("windir"));

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • _Victorique__

    2017/05/29 16:00

    昨日と今日でコードにどのような差があるのか?できればコードを示してください。

    キャンセル

回答 3

checkベストアンサー

+2

新規プロジェクトの方でエラーが起きているという認識でよろしいでしょうか?

新規プロジェクトは元のプロジェクトと同じくMFCで作成されましたか?
また、新規プロジェクトで一度でもビルドに成功しましたか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/29 16:37

    _Victorique__ 様
    回答ありがとうございます。
    ご指摘の通り、新規プロジェクトでエラーが起きております。
    元のプロジェクトの同様にMFCで作成しております。
    一度もビルドできておりません。
    現在は、ビルドすると下記のようなります。

    警告 1 warning MSB3075: コマンド "regsvr32 /s "C:\Users\aaa\documents\visual studio 2013\Projects\CCABC\Release\CCABC.ocx"" はコード 5 で終了しました。このコマンドを実行するための十分な権限があるか確認してください。 C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 1608 5 CCABC
    エラー 2 error MSB8011: Failed to register output. Please try enabling Per-user Redirection or register the component from a command prompt with elevated permissions. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 1620 5 CCABC

    キャンセル

  • 2017/05/29 16:52

    VisualStudioを管理者権限で実行後、
    プロジェクト - > プロパティ > リンカー >一般 - > output - > NO。
    を変更してみてからビルドしてみてください。

    キャンセル

  • 2017/05/29 18:27

    _Victorique__ 様
    コメントありがとうございます。
    ご指摘の通り変更したところ、ビルドできました。
    本当にありがとうございます。
    しかし、昨日までの設定では、YES になっていたので、ちょっと不思議です。

    キャンセル

0

こんにちは。

昨日までは、ビルドできていたのですが、今日になって ビルドするとエラーになります。 

全く何も変えていないのにエラーになることはありません。

何かを修正した結果、コンパイルできなくなります。
その「何か」のほとんどはソースですね。若干プロジェクトの設定もあります。
稀にOSや他のライブラリの設定やインストールフォルダの変更等もあります。

そのエラーメッセージは、インクルードに失敗している時に出ることが多いです。
CString の使用によると、

CString を使用するには、atlstr.h ヘッダーをインクルードします。

ということですので、atlstr.h ヘッダーがインクルードされているか再確認してみると良いと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/29 16:35 編集

    Chironian 様
    回答ありがとうとございます。
    ソースは何も変更していないのです。
    新規でプロジェクトを作成して、ソースは全てそのままのものを使っています。(コピペですが)
    回答頂いたとおり、atlstr.h はインクルードしてあったのですが、
    昨日の時点でコメントにしていました。
    CString があいまいですという構文エラーになっていたので。
    ですが、今コメントを外したところ、CStringの箇所はエラーから消えましたが、下記のエラーになってしまいました。


    警告 1 warning MSB3075: コマンド "regsvr32 /s "C:\Users\aaa\documents\visual studio 2013\Projects\CCABC\Release\CCABC.ocx"" はコード 5 で終了しました。このコマンドを実行するための十分な権限があるか確認してください。 C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 1608 5 CCABC
    エラー 2 error MSB8011: Failed to register output. Please try enabling Per-user Redirection or register the component from a command prompt with elevated permissions. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 1620 5 CCABC

    キャンセル

  • 2017/05/29 17:23

    ソースは変えずプロジェクトを作り直した結果、ビルド・エラーが発生するようになったのであれば、常識的に判断すると、プロジェクトが元通りとは異なっています。
    たいへんですが、まずは設定を1つ1つ比較して、完全に元通りに設定しましょう。
    きっとその過程で何か見落としが見つかりますし、可能ならそれぞれの意味を調べるとたいへん勉強になると思いますよ。

    キャンセル

0

新規にプロジェクトを作り直したという点が気になります。
使用するライブラリなどで、パスが通ってない。とか
新規プロジェクトならば通しなおす必要があるのでは?そのあたりは確認しましたか?
旧プロジェクトのプロパティと比較確認して見てください

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/29 17:53

    ardin 様
    回答ありがとうございます。
    確認はしました。
    相違ありませんでした。

    キャンセル

同じタグがついた質問を見る

  • C++

    4431questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • MFC

    144questions

    MFC (Microsoft Fouondation Class)とは、MicrosoftがVC++用に開発したWindows用アプリケーションのフレームワークです。