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

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

新規登録して質問してみよう
ただいま回答率
85.50%
MFC

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

C++

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

Q&A

解決済

3回答

10949閲覧

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

m24yama

総合スコア38

MFC

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

C++

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

0グッド

0クリップ

投稿2017/05/29 06:32

編集2017/05/29 07:05

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

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

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

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

std::string strDir;
CAtlString EnvStr;

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_Victorique__

2017/05/29 07:00

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

回答3

0

ベストアンサー

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

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

投稿2017/05/29 07:30

_Victorique__

総合スコア1392

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m24yama

2017/05/29 07: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
_Victorique__

2017/05/29 07:52

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

2017/05/29 09:27

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

0

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

投稿2017/05/29 08:33

ardin

総合スコア544

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m24yama

2017/05/29 08:53

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

0

こんにちは。

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

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

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

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

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

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

投稿2017/05/29 07:22

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m24yama

2017/05/29 07:38 編集

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
Chironian

2017/05/29 08:23

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問