SVN 4357 unresolved external?

The place to discuss creating, porting and modifying Celestia's source code.
Topic author
abramson
Posts: 408
Joined: 22.07.2003
With us: 21 years 6 months
Location: Bariloche, Argentina

SVN 4357 unresolved external?

Post #1by abramson » 31.05.2008, 23:20

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)

symaski62
Posts: 610
Joined: 01.05.2004
Age: 41
With us: 20 years 8 months
Location: france, divion

Re: SVN 4357 unresolved external?

Post #2by symaski62 » 31.05.2008, 23:41

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;
windows 10 directX 12 version
celestia 1.7.0 64 bits
with a general handicap of 80% and it makes much d' efforts for the community and s' expimer, thank you d' to be understanding.

Topic author
abramson
Posts: 408
Joined: 22.07.2003
With us: 21 years 6 months
Location: Bariloche, Argentina

Re: SVN 4357 unresolved external?

Post #3by abramson » 31.05.2008, 23:58

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

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 4 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Re: SVN 4357 unresolved external?

Post #4by cartrite » 01.06.2008, 03:48

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
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

Topic author
abramson
Posts: 408
Joined: 22.07.2003
With us: 21 years 6 months
Location: Bariloche, Argentina

Re: SVN 4357 unresolved external?

Post #5by abramson » 01.06.2008, 13:47

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

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 4 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Re: SVN 4357 unresolved external?

Post #6by cartrite » 01.06.2008, 16:50

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
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 23 years
Location: Seattle, Washington, USA

Re: SVN 4357 unresolved external?

Post #7by chris » 01.06.2008, 18:11

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


Return to “Development”