Just cannot get MapSplitter to link.

Zola

30-07-2006 22:43:28

Hi.

I'm attempting to build the MapSplitter on mingw/stlport for Dagon.
Using the updated PLSM2 version from Tuan's site.
I've tried all the obvious solutions...
tried linking in Plugin_PagingLandScapeSceneManager2.dll
tried -Wl,--enable-runtime-pseudo-reloc.
I've fucked with all the paths to make sure everything's right, linking right, ad inf.

What's going on? Please help.

- Zola

Linking executable: ..\..\Common\bin\Debug\MapSplitter.exe
Info: resolving Ogre::Math::PI by linking to __imp___ZN4Ogre4Math2PIE (auto-import)
Info: resolving Ogre::Math::HALF_PI by linking to __imp___ZN4Ogre4Math7HALF_PIE (auto-import)
Info: resolving Ogre::StringUtil::BLANK by linking to __imp___ZN4Ogre10StringUtil5BLANKE (auto-import)
Info: resolving Ogre::Vector3::UNIT_SCALE by linking to __imp___ZN4Ogre7Vector310UNIT_SCALEE (auto-import)
..\obj\Debug\src\MapUtil.o: In function `ZN4Ogre7MapUtil4LoadEv':../src/MapUtil.cpp:311: undefined reference to `Ogre::PagingLandScapeOptions::PagingLandScapeOptions(Ogre::PagingLandScapeSceneManager*)'
:../src/MapUtil.cpp:312: undefined reference to `Ogre::PagingLandScapeOptions::load(stlpd_std::basic_string<char, stlpd_std::char_traits<char>, stlpd_std::allocator<char> > const&)'
..\obj\Debug\src\MapUtil.o: In function `ZN4Ogre7MapUtilD2Ev':../src/MapUtil.cpp:319: undefined reference to `Ogre::PagingLandScapeData2DManager::~PagingLandScapeData2DManager()'
:../src/MapUtil.cpp:320: undefined reference to `Ogre::PagingLandScapeOptions::~PagingLandScapeOptions()'
..\obj\Debug\src\MapUtil.o: In function `ZN4Ogre7MapUtilD1Ev':../src/MapUtil.cpp:319: undefined reference to `Ogre::PagingLandScapeData2DManager::~PagingLandScapeData2DManager()'
:../src/MapUtil.cpp:320: undefined reference to `Ogre::PagingLandScapeOptions::~PagingLandScapeOptions()'
..\obj\Debug\src\MapUtil.o: In function `ZN4Ogre7MapUtil7processEv':../src/MapUtil.cpp:375: undefined reference to `Ogre::PagingLandScapeOptions::setDefault()'
:../src/MapUtil.cpp:376: undefined reference to `Ogre::PagingLandScapeOptions::loadMapOptions(stlpd_std::basic_string<char, stlpd_std::char_traits<char>, stlpd_std::allocator<char> > const&)'
..\obj\Debug\src\MapUtil.o: In function `ZN4Ogre7MapUtil18LoadDataFromSourceEv':../src/MapUtil.cpp:524: undefined reference to `Ogre::PagingLandScapeData2DManager::PagingLandScapeData2DManager(Ogre::PagingLandScapeSceneManager*, Ogre::PagingLandScapeOptions*)'
:../src/MapUtil.cpp:530: undefined reference to `Ogre::PagingLandScapeData2D_HeightField::PagingLandScapeData2D_HeightField(Ogre::PagingLandScapeData2DManager*)'
:../src/MapUtil.cpp:534: undefined reference to `Ogre::PagingLandScapeData2D_HeightFieldRaw::PagingLandScapeData2D_HeightFieldRaw(Ogre::PagingLandScapeData2DManager*)'
:../src/MapUtil.cpp:538: undefined reference to `Ogre::PagingLandScapeData2D_HeightFieldTC::PagingLandScapeData2D_HeightFieldTC(Ogre::PagingLandScapeData2DManager*)'
:../src/MapUtil.cpp:542: undefined reference to `Ogre::PagingLandScapeData2D_HeightFieldRawTC::PagingLandScapeData2D_HeightFieldRawTC(Ogre::PagingLandScapeData2DManager*)'
collect2: ld returned 1 exit status

tuan kuranes

31-07-2006 13:02:33

Check if _MAPSPLITTER is defined in C:B compiler option, project options.

Zola

31-07-2006 18:13:33

Yes, it is defined.

tuan kuranes

31-07-2006 18:21:16

are

OgrePagingLandScapeOptions.cpp OgrePagingLandScapeData2DManager.cpp, OgrePagingLandScapeData2D_HeightField.cpp
OgrePagingLandScapeData2D_HeightFieldRaw.cpp
OgrePagingLandScapeData2D_HeightFieldTC.cpp
OgrePagingLandScapeData2D_HeightFieldRawTC.cpp

defined in the project ?

Zola

31-07-2006 18:36:29

No, they're not. Those ones are all defined in the project for Plugin_PagingLandScapeSceneManager2, which has created a dll that I'm linking to.

tuan kuranes

31-07-2006 18:52:18

MapSplitter doesn't link to the plugin, and you should include .cpp above in the project.
They are compiled differently as _MAPSPLITTER is defined.

Zola

31-07-2006 18:56:13

Ok, thanks.