
C++で、単純な計算プログラムを作成しています。
main.cとinit.hの2つのファイルで構成しています。2つとも、プロジェクトの親フォルダに入っています。
ヘッダファイルを変更して、ソリューションのリビルドをしても、ヘッダファイルの変更が反映されません。
構造体をヘッダファイルに記載していて、メンバを追加してリビルド後も反映されません。#defineでヘッダに記載していた定数を変数に変更しようとして、define文を消してリビルドしても、その値がずっと定数のままになってしまいます。
init.hファイルのファイル名をinit2.hに変更して、includeファイルも#include "init2.h"に書き換えてビルドすると反映されます。非常に不思議です。どこかVisual Studioの設定のような気がするのですが、環境設定の方法がわからず困っております。
どなたかご教示・ヒント・キーワード等よろしくお願いします。
No.2ベストアンサー
- 回答日時:
同じファイル名のヘッダファイル(今回はinit.h)が2つできていたりしませんか ?
表示されているヘッダファイルとプロジェクトに登録されているヘッダファイルが別物であれば同じような現象になるような気がしますが ?
一度表示されているヘッダファイルを「閉じ」て、
(1)ソリューションイクスプローラのヘッダファイルにinit.hが登録されていたら、それを一旦削除して、もう一度追加しなおして、
(2)ソリューションイクスプローラのヘッダファイルにinit.hが登録されていなければ、追加して、
新しく登録されたinit.hを使用してみたらどうでしょうか。
この回答への補足
ご教示ありがとうございました。
最初にヘッダファイルのDefine定数を変更してビルドしました。mainではこの変更は反映されないことを確認しました。
(1)の削除のときに、「クリア」と「完全削除」を聞かれたので、init.hをあらかじめ別名でコピーしておいて、完全削除を選びました。するとinit.hファイルはディスクから完全削除されました。コピーしておいたヘッダファイルを戻します。この時点で、ビルドを実行するとソリューションエクスプローラにヘッダファイルがないのにビルドが実行できて、定数の変更も反映されることを確認しました。
何となく気持ち悪いのですが、(2)は不要のままプログラム開発してもビルドできてしまうのはどこかの設定が悪いのでしょうか?
また、(1)を実行しないとヘッダファイルの変更が反映されないのはなかなか効率が悪く困っております。何か根本的な原因があるのでしょうか?(オプション設定等?)よろしくお願いします。
No.1
- 回答日時:
普通はリビルドとかでいけると思うんだけど、何か壊れたのかな。
でも、そんなに単純なファイル構成なら、プロジェクトを再作成
しても大した手間ではないような気もする。
で、プロジェクトの親フォルダってなんだろかな。
ソリューションエクスプローラには、ソースファイル・ヘッダーファイル
ってフォルダがあると思うんだけど、そこにそれぞれ、
main.c, init.hが表示されているということ?
この回答への補足
ご教示ありがとうございます。「親フォルダ」というあいまいな用語を使ってすみません。親フォルダは、プロジェクトのあるフォルダを意味していました。Windowsのエクスプローラ上、2つのファイルは、同一フォルダ内にあります。また、ご指摘のようにソリューションエクスプローラ上もプロジェクト内にあります。よろしくお願いします。
補足日時:2009/10/15 09:58お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- その他(プログラミング・Web制作) Visual StudioでDjangoのプロジェクト配下のappを作成する方法 1 2022/05/01 03:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/10 09:06
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C# オリジナルのマウスポインタ
-
コンパイルするときに、ファイ...
-
自民党が「高齢者の医療費負担...
-
どんなプログラムを書いても指...
-
二重カウント防止
-
MATLAB lsqcurvefitのドキュメ...
-
C言語を用いたファイルの一括削...
-
C言語初心者の質問失礼します。
-
FTPでputすると空ファイルが出...
-
Wordファイルの結合
-
VBA バイナリ―から文字列にす...
-
営業秘密の漏洩について
-
VBA フォルダ見える化のコード...
-
複数のファイルへの一括処理(...
-
Ubuntu テキストファイルをどこ...
-
C#で、フォームのタイトル名を...
-
Tomcat停止後の処理継続について
-
phpで複数のファイルのインクル...
-
ファイルオープンの際のウィン...
-
Thunderbirdでemlファイルを開...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで他のプロジェクトで作...
-
コンパイルするときに、ファイ...
-
エラーの原因は?「この関数の...
-
他の.CPPファイルに定義した関...
-
ソースから参照しているOCXの一...
-
VC++でexeファイルが作成できま...
-
ACCESSのEXEを作るのは可能...
-
VB.NETでActiveX(OCXファイル)作成
-
Visual Studioでプロジェクトが...
-
stdio.hをオープンできない…
-
C#のクラスをVB.netで使用したい!
-
VisualBasicを保存するときにで...
-
VB6 exeファイルのプロパティの...
-
VS2010 ProductVersion 変更
-
同じソースコードなのにバイナ...
-
プリコンパイル?
-
Wingdi.h Windows.h を開くには?
-
VC++ 2010でlog4cxxビルドできない
-
VB6.0の別名保存について
-
プロジェクトフォルダ名の変更...
おすすめ情報