Compile with Visual Studio .NET 2003 (NOT from command line)
Posted: 05.02.2007, 15:43
Hi.
I'm trying to create a solution with Microsoft Visual Studio 2003 because I would like to debug Celestia in Visual Studio:
- I downloaded the current sources of Celestia (1.4.1)
- I converted all the .dsp from UNIX format to PC format
- I opened it with Visual Studio 2003 and I converted the .dsw in a solution (.sln)
- All the projects compiled without problems, except for the project "Celestia". When I built this project all the .cpp were correct, but there were some linking errors. In the following lines I copied only 6 of the 45 unresolved externals:
**********
Celestia error LNK2001: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall DSODatabase::getDSOName(class DeepSkyObject const * const &)const " (?getDSOName@DSODatabase@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABQBVDeepSkyObject@@@Z)
Celestia error LNK2001: unresolved external symbol "public: void __thiscall DSODatabase::findVisibleDSOs(class OctreeProcessor<class DeepSkyObject *,double> &,class Point3<double> const &,class Quaternion<float> const &,float,float,float)const " (?findVisibleDSOs@DSODatabase@@QBEXAAV?$OctreeProcessor@PAVDeepSkyObject@@N@@ABV?$Point3@N@@ABV?$Quaternion@M@@MMM@Z)
Celestia error LNK2001: unresolved external symbol "void __cdecl FillinRotationElements(class AssociativeArray *,class RotationElements &)" (?FillinRotationElements@@YAXPAVAssociativeArray@@AAVRotationElements@@@Z)
Celestia error LNK2019: unresolved external symbol "bool __cdecl ParseDate(class AssociativeArray *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,double &)" (?ParseDate@@YA_NPAVAssociativeArray@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAN@Z) referenced in function "class Body * __cdecl CreatePlanet(class PlanetarySystem *,class Body *,class AssociativeArray *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,enum Disposition,bool)" (?CreatePlanet@@YAPAVBody@@PAVPlanetarySystem@@PAV1@PAVAssociativeArray@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4Disposition@@_N@Z)
Celestia error LNK2019: unresolved external symbol "bool __cdecl WGLExtensionSupported(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?WGLExtensionSupported@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "bool __cdecl SetDCPixelFormat(struct HDC__ *)" (?SetDCPixelFormat@@YA_NPAUHDC__@@@Z)
Celestia error LNK2019: unresolved external symbol "class ColorTemperatureTable * __cdecl GetStarColorTable(enum ColorTableType)" (?GetStarColorTable@@YAPAVColorTemperatureTable@@W4ColorTableType@@@Z) referenced in function "public: void __thiscall CelestiaCore::charEntered(char const *,int)" (?charEntered@CelestiaCore@@QAEXPBDH@Z)
**********
I also tryed to modify the properties of each project as shown in this mail http://www.celestiaproject.net/forum/viewtopic.php?t=5305, but it didn't work.
Is there anybody who tried to do the same before me? I read on the forum that the current .dsw is not upgradated. Is there a simple way to correct it?
Or is there an oldest version (hopefully not too old ) of Celestia wich compile correctly in Visual Studio 2003 (not from command line)?
Thank You
I'm trying to create a solution with Microsoft Visual Studio 2003 because I would like to debug Celestia in Visual Studio:
- I downloaded the current sources of Celestia (1.4.1)
- I converted all the .dsp from UNIX format to PC format
- I opened it with Visual Studio 2003 and I converted the .dsw in a solution (.sln)
- All the projects compiled without problems, except for the project "Celestia". When I built this project all the .cpp were correct, but there were some linking errors. In the following lines I copied only 6 of the 45 unresolved externals:
**********
Celestia error LNK2001: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall DSODatabase::getDSOName(class DeepSkyObject const * const &)const " (?getDSOName@DSODatabase@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABQBVDeepSkyObject@@@Z)
Celestia error LNK2001: unresolved external symbol "public: void __thiscall DSODatabase::findVisibleDSOs(class OctreeProcessor<class DeepSkyObject *,double> &,class Point3<double> const &,class Quaternion<float> const &,float,float,float)const " (?findVisibleDSOs@DSODatabase@@QBEXAAV?$OctreeProcessor@PAVDeepSkyObject@@N@@ABV?$Point3@N@@ABV?$Quaternion@M@@MMM@Z)
Celestia error LNK2001: unresolved external symbol "void __cdecl FillinRotationElements(class AssociativeArray *,class RotationElements &)" (?FillinRotationElements@@YAXPAVAssociativeArray@@AAVRotationElements@@@Z)
Celestia error LNK2019: unresolved external symbol "bool __cdecl ParseDate(class AssociativeArray *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,double &)" (?ParseDate@@YA_NPAVAssociativeArray@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAN@Z) referenced in function "class Body * __cdecl CreatePlanet(class PlanetarySystem *,class Body *,class AssociativeArray *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,enum Disposition,bool)" (?CreatePlanet@@YAPAVBody@@PAVPlanetarySystem@@PAV1@PAVAssociativeArray@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4Disposition@@_N@Z)
Celestia error LNK2019: unresolved external symbol "bool __cdecl WGLExtensionSupported(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?WGLExtensionSupported@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "bool __cdecl SetDCPixelFormat(struct HDC__ *)" (?SetDCPixelFormat@@YA_NPAUHDC__@@@Z)
Celestia error LNK2019: unresolved external symbol "class ColorTemperatureTable * __cdecl GetStarColorTable(enum ColorTableType)" (?GetStarColorTable@@YAPAVColorTemperatureTable@@W4ColorTableType@@@Z) referenced in function "public: void __thiscall CelestiaCore::charEntered(char const *,int)" (?charEntered@CelestiaCore@@QAEXPBDH@Z)
**********
I also tryed to modify the properties of each project as shown in this mail http://www.celestiaproject.net/forum/viewtopic.php?t=5305, but it didn't work.
Is there anybody who tried to do the same before me? I read on the forum that the current .dsw is not upgradated. Is there a simple way to correct it?
Or is there an oldest version (hopefully not too old ) of Celestia wich compile correctly in Visual Studio 2003 (not from command line)?
Thank You