Page 1 of 1

SVN 4357 unresolved external?

Posted: 31.05.2008, 23:20
by abramson
Hi, guys,

Today I updated to svn 4357 and got an error while linking under VC++ 2005. I rolled back to svn 4054 (previous in the trunk) and it compiles OK. The first error mesages follow. There seeems to be a call to a SkyGrid that canoot be resolved. SkyGrid() is defined in skygrid.h, which indeed is in the tree. But I'm a complete amateur in C++ so I can't find the problem. Could this be connected ti the new grids that Chris was implementing? I didn't use his patched render.h and .cpp, just the trunk svn. (I DID download them and replaced the trunk versions, but also wouldn't link).

If anybody sees what's happening, please let me know. Thanks. thnaks.

Guillermo

Error messages:

Code: Select all

1>render.obj : error LNK2019: unresolved external symbol "public: __thiscall SkyGrid::~SkyGrid(void)" (??1SkyGrid@@QAE@XZ) referenced in function "private: void __thiscall Renderer::renderSkyGrids(class Observer const &)" (?renderSkyGrids@Renderer@@AAEXABVObserver@@@Z)
1>render.obj : error LNK2019: unresolved external symbol "public: void __thiscall SkyGrid::render(class Renderer &,class Observer const &,int,int)" (?render@SkyGrid@@QAEXAAVRenderer@@ABVObserver@@HH@Z) referenced in function "private: void __thiscall Renderer::renderSkyGrids(class Observer const &)" (?renderSkyGrids@Renderer@@AAEXABVObserver@@@Z)
1>render.obj : error LNK2019: unresolved external symbol "public: __thiscall SkyGrid::SkyGrid(void)" (??0SkyGrid@@QAE@XZ) referenced in function "private: void __thiscall Renderer::renderSkyGrids(class Observer const &)" (?renderSkyGrids@Renderer@@AAEXABVObserver@@@Z)

Re: SVN 4357 unresolved external?

Posted: 31.05.2008, 23:41
by symaski62
abramson wrote:Hi, guys,

Today I updated to svn 4357 and got an error while linking under VC++ 2005. I rolled back to svn 4054 (previous in the trunk) and it compiles OK. The first error mesages follow. There seeems to be a call to a SkyGrid that canoot be resolved. SkyGrid() is defined in skygrid.h, which indeed is in the tree. But I'm a complete amateur in C++ so I can't find the problem. Could this be connected ti the new grids that Chris was implementing? I didn't use his patched render.h and .cpp, just the trunk svn. (I DID download them and replaced the trunk versions, but also wouldn't link).

If anybody sees what's happening, please let me know. Thanks. thnaks.

Guillermo

Error messages:

Code: Select all

1>render.obj : error LNK2019: unresolved external symbol "public: __thiscall SkyGrid::~SkyGrid(void)" (??1SkyGrid@@QAE@XZ) referenced in function "private: void __thiscall Renderer::renderSkyGrids(class Observer const &)" (?renderSkyGrids@Renderer@@AAEXABVObserver@@@Z)
1>render.obj : error LNK2019: unresolved external symbol "public: void __thiscall SkyGrid::render(class Renderer &,class Observer const &,int,int)" (?render@SkyGrid@@QAEXAAVRenderer@@ABVObserver@@HH@Z) referenced in function "private: void __thiscall Renderer::renderSkyGrids(class Observer const &)" (?renderSkyGrids@Renderer@@AAEXABVObserver@@@Z)
1>render.obj : error LNK2019: unresolved external symbol "public: __thiscall SkyGrid::SkyGrid(void)" (??0SkyGrid@@QAE@XZ) referenced in function "private: void __thiscall Renderer::renderSkyGrids(class Observer const &)" (?renderSkyGrids@Renderer@@AAEXABVObserver@@@Z)


render.obj = render.cpp SVN r4353 <= error

error LNK2019 = line 2019

Code: Select all

 2018     // The rest of the function isn't designed for empty trajectories
 2019     if (trajectory->empty())
 2020         return;

Re: SVN 4357 unresolved external?

Posted: 31.05.2008, 23:58
by abramson
Thanks for the fast answer, symaski62. Yes, I see that the error is in render.obj, and that the offending line is 2019. That much I saw in the error message. But I don't understand your message, particularly the part: "render.obj = render.cpp SVN r4353 <= error". I can't see v4353 in my svn revision tree. Sorry for my lack of imagination. It must be too much volcanic ash from Chaiten volcano that I have inhaled this last month...

Edit: sorry again. I see 4352 in the tree now (changed resolution). Do you mean that I should revert just render.cpp to 4353?

Edit 2: A few steps of bisecting got me to revision 4347 as the earliest I can't build. Revision 4346 succeeds. This is just when Chris enabled the new grids. Oh, well. I shall wait.

Guillermo

Re: SVN 4357 unresolved external?

Posted: 01.06.2008, 03:48
by cartrite
abramson wrote:Edit 2: A few steps of bisecting got me to revision 4347 as the earliest I can't build. Revision 4346 succeeds. This is just when Chris enabled the new grids. Oh, well. I shall wait.

Guillermo
Depending on what you are building with you need to add skygrid.cpp and skygrid.h to the files to be built. I use the vcproj file to build and I had to add these to the build list.
cartrite

Re: SVN 4357 unresolved external?

Posted: 01.06.2008, 13:47
by abramson
Oh, I see. Thanks, Steve. I somehow assumed that the VC++ IDE would be smart enough to detect dependencies and compile the respective sources if they were at the right places. I'll try again.

Edit: Just as you said, it built right after adding both skygrid sources to the project. Will keep a note on this. Thanks.

G

Re: SVN 4357 unresolved external?

Posted: 01.06.2008, 16:50
by cartrite
Chris usually updates the vcproj and mak files but this time he didn't. When ever you see that files were added to the source or header files during a svn update, I guess it would be best to check if the mak or vcproj files were updated also. If they were not updated, then the added files need to be included. This got me too a few nights ago. 8O
cartrite

Re: SVN 4357 unresolved external?

Posted: 01.06.2008, 18:11
by chris
cartrite wrote:Chris usually updates the vcproj and mak files but this time he didn't. When ever you see that files were added to the source or header files during a svn update, I guess it would be best to check if the mak or vcproj files were updated also. If they were not updated, then the added files need to be included. This got me too a few nights ago. 8O
cartrite

I just updated the MSVC project file. Sorry about the oversight.

--Chris