undefined reference to `_imp___ZN4SkyX15BasicControllerC1ERK

durium

27-07-2012 13:17:50

Hi everyone !
I'm still a bit new to ogre3d and i am trying to add SkyX to my app.
However i run into a bug as soon as i compile my code... :
bin\Release\code\Main.o:Main.cpp|| undefined reference to `_imp___ZN4SkyX15BasicControllerC1ERKb'|
I am just trying to implement skyX with the minimum code :
#include "Main.h"
#include "LevelManager.h"
#include <SkyX.h>


Main::Main(){}

Main::~Main(){}
void Main::createScene(void)
{
LevelManager* lvl = new LevelManager(mSceneMgr);//My code, don't pay attention
lvl->createWorld();

SkyX::BasicController* mBasicController = new SkyX::BasicController();
SkyX::SkyX* mSkyX = new SkyX::SkyX(mSceneMgr, mBasicController);
mSkyX->create();

mSkyX->getVCloudsManager()->getVClouds()->setDistanceFallingParams(Ogre::Vector2(2,-1));

// Register SkyX listeners
mRoot->addFrameListener(mSkyX);
mWindow->addListener(mSkyX);
}

Did i forget something ?
Last thing if i ever try to add SKYX_LIB = 1 i get some weird error :
mingw32-g++.exe: error: =: No such file or directory
mingw32-g++.exe: error: 1: No such file or directory
Maybe where i put it is the wrong place (code::blocks-build options-compiler Settings - #defines)?
Thanks for your help !

heavydist

19-08-2012 14:57:12

That's a linker error, you are not linking the SkyX library correctly.
Also, how do you set SKYX_LIB to one? You don't really write "SKYX_LIB = 1", right? Because I don't think that's valid C++ code.
You should probably just #define SKYX_LIB for that.