
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSのEXEを作るのは可能...
-
他の.CPPファイルに定義した関...
-
VC++でexeファイルが作成できま...
-
エラーの原因は?「この関数の...
-
vba ActiveSheet.pasteを使った...
-
C言語初心者の質問失礼します。
-
どんなプログラムを書いても指...
-
winsock recvでの文字化け
-
Access クエリ実行が急に非常に...
-
マクロを作成したファイルを立...
-
教えてください!vector works...
-
Excel2013 FSO.getAbsolutePath...
-
VC++から引数付きexeファイルの...
-
プログラミング初心者です。プ...
-
エクセルVBAで相対パスでファイ...
-
HDDのバイナリイメージの取得方...
-
マウスポインタの変更
-
ネットワーク上のコンピュータ...
-
CSVファイル読み込み
-
eclipseで作ったプログラムを他...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで他のプロジェクトで作...
-
コンパイルするときに、ファイ...
-
エラーの原因は?「この関数の...
-
ACCESSのEXEを作るのは可能...
-
VB6で、非表示モジュール(?)の...
-
VS2010 ProductVersion 変更
-
他の.CPPファイルに定義した関...
-
ソースから参照しているOCXの一...
-
プリコンパイル?
-
Visual Studioでプロジェクトが...
-
stdio.hをオープンできない…
-
VB6.0 オブジェクトを一覧で表示
-
同じソースコードなのにバイナ...
-
srand48? drand48?
-
VB.NETでActiveX(OCXファイル)作成
-
Visual Stadio2008 Releaseビル...
-
VIsual C++6.0のソースを書くと...
-
コンパイルエラー「include フ...
-
LSI C-86 v3.30c 試食版について
-
VisualBasicを保存するときにで...
おすすめ情報