C++ object file does not recompile when changes are made to a header fileHow can I have a Makefile automatically rebuild source files that include a modified header file? (In C/C++)Why can templates only be implemented in the header file?Why does C++ need a separate header file?Combining C++ and C - how does #ifdef __cplusplus work?C++11 introduced a standardized memory model. What does it mean? And how is it going to affect C++ programming?How do I make Makefile to recompile only changed files?Why does changing 0.1f to 0 slow down performance by 10x?How to recompile when modified c++ header?Recompiling certain targets upon changing of dependancy using autotoolsHow to make Makefile recompile when a header file is changed?
Interchange `colon` and `:`
How to justify getting additional team member when the current team is doing well?
Iterating over &Vec<T> and Vec<&T>
Why does my browser attempt to download pages from http://clhs.lisp.se instead of viewing them normally?
Top off gas with old oil, is that bad?
Why is 6. Nge2 better, and 7. d5 a necessary push in this game?
Why did the Soviet Union not "grant" Inner Mongolia to Mongolia after World War Two?
Can someone give the intuition behind Mean Absolute Error and the Median?
Why does (inf + 0j)*1 evaluate to inf + nanj?
Which lens has the same capability of lens mounted in Nikon P1000?
What did Jesse Pinkman mix into Walt's coffee?
Windows 10 deletes lots of tiny files super slowly. Anything that can be done to speed it up?
Does the app TikTok violate trademark?
Is the iPhone's eSim for the home or roaming carrier?
Designing a time thief proof safe
Why is my abdomen much cooler than the rest of my body after a ride?
How can I tell the difference between fishing for rolls and being involved?
We are on WHV, my boyfriend was in a small collision, we are leaving in 2 weeks what happens if we don’t pay the damages?
Is the order of words purely based on convention?
Is differentiation as a map discontinuous?
What does Sartre mean by "pédéraste" - pederast or homosexual?
Why did UK NHS pay for homeopathic treatments?
Why does C++ have 'Undefined Behaviour' and other languages like C# or Java don't?
Character Transformation
C++ object file does not recompile when changes are made to a header file
How can I have a Makefile automatically rebuild source files that include a modified header file? (In C/C++)Why can templates only be implemented in the header file?Why does C++ need a separate header file?Combining C++ and C - how does #ifdef __cplusplus work?C++11 introduced a standardized memory model. What does it mean? And how is it going to affect C++ programming?How do I make Makefile to recompile only changed files?Why does changing 0.1f to 0 slow down performance by 10x?How to recompile when modified c++ header?Recompiling certain targets upon changing of dependancy using autotoolsHow to make Makefile recompile when a header file is changed?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I have a utility header file that has a bunch of inline functions. When I make a change the the body of the function and save it and remake it will recompile, but the new changes will not have taken effect, although my dependent files are listed in my Makefile.
I have tried compiling it as an object file, as a precompiled header. Many similar suggestions have said that the dependency structure is wrong, but as long as I have included it in the dependencies list for my target, and the header file has been touched more recently than the target has been generated it should recompile, correct?
run_tracker: $(objects) run_tracker.o utils.h
g++ -o $@ run_tracker.o $(objects) $(LIBS)
Say utils.h include a function like so:
void doSomething()cout << "Doing Something" << endl;
I have my run_tracker call the function, and then compile it like normal. It prints out "Do Something", I change that line to "Don't Do Something", make again,it does a shorter recompile, and then when I run it again, it prints the same thing as it did previously with no change.
c++ makefile g++
|
show 6 more comments
I have a utility header file that has a bunch of inline functions. When I make a change the the body of the function and save it and remake it will recompile, but the new changes will not have taken effect, although my dependent files are listed in my Makefile.
I have tried compiling it as an object file, as a precompiled header. Many similar suggestions have said that the dependency structure is wrong, but as long as I have included it in the dependencies list for my target, and the header file has been touched more recently than the target has been generated it should recompile, correct?
run_tracker: $(objects) run_tracker.o utils.h
g++ -o $@ run_tracker.o $(objects) $(LIBS)
Say utils.h include a function like so:
void doSomething()cout << "Doing Something" << endl;
I have my run_tracker call the function, and then compile it like normal. It prints out "Do Something", I change that line to "Don't Do Something", make again,it does a shorter recompile, and then when I run it again, it prints the same thing as it did previously with no change.
c++ makefile g++
1
This is the linker step. Whats your compilation rule forrun_tracker.o
?
– tkausl
Mar 28 at 18:44
I have this for that: %.o: %.h
– lebraun
Mar 28 at 18:50
Then you need to addutils.h
as depencency. And remove it from the linker rule, the linker doesn't depend on any header file.
– tkausl
Mar 28 at 18:52
I see. Is there an easy way to incorporate that into the %.o: %.h structure?
– lebraun
Mar 28 at 18:56
%.o: %.h utils.h
.
– tkausl
Mar 28 at 18:57
|
show 6 more comments
I have a utility header file that has a bunch of inline functions. When I make a change the the body of the function and save it and remake it will recompile, but the new changes will not have taken effect, although my dependent files are listed in my Makefile.
I have tried compiling it as an object file, as a precompiled header. Many similar suggestions have said that the dependency structure is wrong, but as long as I have included it in the dependencies list for my target, and the header file has been touched more recently than the target has been generated it should recompile, correct?
run_tracker: $(objects) run_tracker.o utils.h
g++ -o $@ run_tracker.o $(objects) $(LIBS)
Say utils.h include a function like so:
void doSomething()cout << "Doing Something" << endl;
I have my run_tracker call the function, and then compile it like normal. It prints out "Do Something", I change that line to "Don't Do Something", make again,it does a shorter recompile, and then when I run it again, it prints the same thing as it did previously with no change.
c++ makefile g++
I have a utility header file that has a bunch of inline functions. When I make a change the the body of the function and save it and remake it will recompile, but the new changes will not have taken effect, although my dependent files are listed in my Makefile.
I have tried compiling it as an object file, as a precompiled header. Many similar suggestions have said that the dependency structure is wrong, but as long as I have included it in the dependencies list for my target, and the header file has been touched more recently than the target has been generated it should recompile, correct?
run_tracker: $(objects) run_tracker.o utils.h
g++ -o $@ run_tracker.o $(objects) $(LIBS)
Say utils.h include a function like so:
void doSomething()cout << "Doing Something" << endl;
I have my run_tracker call the function, and then compile it like normal. It prints out "Do Something", I change that line to "Don't Do Something", make again,it does a shorter recompile, and then when I run it again, it prints the same thing as it did previously with no change.
c++ makefile g++
c++ makefile g++
edited Mar 28 at 18:47
πάντα ῥεῖ
1
1
asked Mar 28 at 18:41
lebraunlebraun
61 bronze badge
61 bronze badge
1
This is the linker step. Whats your compilation rule forrun_tracker.o
?
– tkausl
Mar 28 at 18:44
I have this for that: %.o: %.h
– lebraun
Mar 28 at 18:50
Then you need to addutils.h
as depencency. And remove it from the linker rule, the linker doesn't depend on any header file.
– tkausl
Mar 28 at 18:52
I see. Is there an easy way to incorporate that into the %.o: %.h structure?
– lebraun
Mar 28 at 18:56
%.o: %.h utils.h
.
– tkausl
Mar 28 at 18:57
|
show 6 more comments
1
This is the linker step. Whats your compilation rule forrun_tracker.o
?
– tkausl
Mar 28 at 18:44
I have this for that: %.o: %.h
– lebraun
Mar 28 at 18:50
Then you need to addutils.h
as depencency. And remove it from the linker rule, the linker doesn't depend on any header file.
– tkausl
Mar 28 at 18:52
I see. Is there an easy way to incorporate that into the %.o: %.h structure?
– lebraun
Mar 28 at 18:56
%.o: %.h utils.h
.
– tkausl
Mar 28 at 18:57
1
1
This is the linker step. Whats your compilation rule for
run_tracker.o
?– tkausl
Mar 28 at 18:44
This is the linker step. Whats your compilation rule for
run_tracker.o
?– tkausl
Mar 28 at 18:44
I have this for that: %.o: %.h
– lebraun
Mar 28 at 18:50
I have this for that: %.o: %.h
– lebraun
Mar 28 at 18:50
Then you need to add
utils.h
as depencency. And remove it from the linker rule, the linker doesn't depend on any header file.– tkausl
Mar 28 at 18:52
Then you need to add
utils.h
as depencency. And remove it from the linker rule, the linker doesn't depend on any header file.– tkausl
Mar 28 at 18:52
I see. Is there an easy way to incorporate that into the %.o: %.h structure?
– lebraun
Mar 28 at 18:56
I see. Is there an easy way to incorporate that into the %.o: %.h structure?
– lebraun
Mar 28 at 18:56
%.o: %.h utils.h
.– tkausl
Mar 28 at 18:57
%.o: %.h utils.h
.– tkausl
Mar 28 at 18:57
|
show 6 more comments
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55404770%2fc-object-file-does-not-recompile-when-changes-are-made-to-a-header-file%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55404770%2fc-object-file-does-not-recompile-when-changes-are-made-to-a-header-file%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
This is the linker step. Whats your compilation rule for
run_tracker.o
?– tkausl
Mar 28 at 18:44
I have this for that: %.o: %.h
– lebraun
Mar 28 at 18:50
Then you need to add
utils.h
as depencency. And remove it from the linker rule, the linker doesn't depend on any header file.– tkausl
Mar 28 at 18:52
I see. Is there an easy way to incorporate that into the %.o: %.h structure?
– lebraun
Mar 28 at 18:56
%.o: %.h utils.h
.– tkausl
Mar 28 at 18:57