Getting Nehe SDK to work with Dev C++
Can anyone give me some directions to being able to compile a project using the SDK? The sample projects are all in Visual C++ , but I would like to use Dev C++.
My Current Project Angels 22 (4E5)
Sorry, I probably should have phrased my question a little better...
Anyways, I can get all the tutorials to work , but when I downloaded the NeheSDK(I'd like to use it for model loading) from his website and tried to compile example 7, I got the following linker errors:
c:\windows\desktop\model loader\example7.o(.text+0xcf):example7.cpp: undefined reference to `NeHe::Text2D::Setup(NeHe::OpenGL *, NeHe::TextType)'
c:\windows\desktop\model loader\example7.o(.text+0x100):example7.cpp: undefined reference to `NeHe::Model::Load(basic_string<char, string_char_traits<char>, __default_alloc_template<false, 0> >, NeHe::ModelLoader &, NeHe::Texture &)'
c:\windows\desktop\model loader\example7.o(.text+0x142):example7.cpp: undefined reference to `NeHe::Model::Load(basic_string<char, string_char_traits<char>, __default_alloc_template<false, 0> >, NeHe::ModelLoader &, NeHe::Texture &)'
c:\windows\desktop\model loader\example7.o(.text+0x20d):example7.cpp: undefined reference to `NeHe::View::Translate(float, float, float)'
c:\windows\desktop\model loader\example7.o(.text+0x23e):example7.cpp: undefined reference to `NeHe::View::Scale(float, float, float)'
c:\windows\desktop\model loader\example7.o(.text+0x25c):example7.cpp: undefined reference to `NeHe::Model::DrawTimeFrame(int, float)'
c:\windows\desktop\model loader\example7.o(.text+0x2ac):example7.cpp: undefined reference to `NeHe::View::Reset(void)'
c:\windows\desktop\model loader\example7.o(.text+0x2c9):example7.cpp: undefined reference to `NeHe::View::Translate(float, float, float)'
c:\windows\desktop\model loader\example7.o(.text+0x2fa):example7.cpp: undefined reference to `NeHe::View::Scale(float, float, float)'
c:\windows\desktop\model loader\example7.o(.text+0x312):example7.cpp: undefined reference to `NeHe::StateManager::SetLighting(bool)'
c:\windows\desktop\model loader\example7.o(.text+0x32c):example7.cpp: undefined reference to `NeHe::StateManager::SetLight(int, bool)'
c:\windows\desktop\model loader\example7.o(.text+0x344):example7.cpp: undefined reference to `NeHe::StateManager::SetTexturing(bool)'
c:\windows\desktop\model loader\example7.o(.text+0x356):example7.cpp: undefined reference to `NeHe::Model::DrawFrame(int)'
c:\windows\desktop\model loader\example7.o(.text+0x36e):example7.cpp: undefined reference to `NeHe::StateManager::SetTexturing(bool)'
c:\windows\desktop\model loader\example7.o(.text+0x386):example7.cpp: undefined reference to `NeHe::StateManager::SetLighting(bool)'
c:\windows\desktop\model loader\example7.o(.text+0x412):example7.cpp: undefined reference to `NeHe::StateManager::SetColour(NeHe::Colour)'
c:\windows\desktop\model loader\example7.o(.text+0x42a):example7.cpp: undefined reference to `NeHe::StateManager::SetTexturing(bool)'
c:\windows\desktop\model loader\example7.o(.text+0x43a):example7.cpp: undefined reference to `NeHe::View::Reset(void)'
c:\windows\desktop\model loader\example7.o(.text+0x457):example7.cpp: undefined reference to `NeHe::View::Translate(float, float, float)'
c:\windows\desktop\model loader\example7.o(.text+0x47f):example7.cpp: undefined reference to `NeHe::View::Pos2D(float, float)'
c:\windows\desktop\model loader\example7.o(.text+0x4d5):example7.cpp: undefined reference to `NeHe::StateManager::SetTexturing(bool)'
c:\windows\desktop\model loader\example7.o(.text+0x546):example7.cpp: undefined reference to `NeHe::Model::Model(void)'
c:\windows\desktop\model loader\example7.o(.text+0x556):example7.cpp: undefined reference to `NeHe::Model::Model(void)'
c:\windows\desktop\model loader\example7.o(.text+0x566):example7.cpp: undefined reference to `NeHe::MD2::MD2(void)'
c:\windows\desktop\model loader\example7.o(.text+0x576):example7.cpp: undefined reference to `NeHe::Milkshape::Milkshape(void)'
c:\windows\desktop\model loader\example7.o(.text+0x5ad):example7.cpp: undefined reference to `NeHe::Milkshape::~Milkshape(void)'
c:\windows\desktop\model loader\example7.o(.text+0x5bf):example7.cpp: undefined reference to `NeHe::MD2::~MD2(void)'
c:\windows\desktop\model loader\example7.o(.text+0x5d1):example7.cpp: undefined reference to `NeHe::Model::~Model(void)'
c:\windows\desktop\model loader\example7.o(.text+0x5e3):example7.cpp: undefined reference to `NeHe::Model::~Model(void)'
c:\windows\desktop\model loader\example7.o(.text$_$_Q24NeHe7Texture+0x13):example7.cpp: undefined reference to `NeHe::Texture::Reset(void)'
c:\windows\desktop\model loader\example7.o(.text$_$_Q24NeHe4Text+0x1a):example7.cpp: undefined reference to `NeHe::Text::Clear(void)'
c:\windows\desktop\model loader\example7.o(.data$__vt_Q24NeHe6Text2D+0xc):example7.cpp: undefined reference to `NeHe::Text2D::Setup(NeHe::OpenGL *, NeHe::TextType)'
c:\windows\desktop\model loader\example7.o(.data$__vt_Q24NeHe6Text2D+0x10):example7.cpp: undefined reference to `NeHe::Text2D::Write(basic_string<char, string_char_traits<char>, __default_alloc_template<false, 0> >)'
C:\DEV-C_~1\Lib\/libmingw32.a(main.o)(.text+0x8d):main.c: undefined reference to `WinMain@16'
I think my problem is how I am linking to nehegl.lib. Where should I put it? What should I put in the linker options box? Any help would be greatly appreciated.
Anyways, I can get all the tutorials to work , but when I downloaded the NeheSDK(I'd like to use it for model loading) from his website and tried to compile example 7, I got the following linker errors:
c:\windows\desktop\model loader\example7.o(.text+0xcf):example7.cpp: undefined reference to `NeHe::Text2D::Setup(NeHe::OpenGL *, NeHe::TextType)'
c:\windows\desktop\model loader\example7.o(.text+0x100):example7.cpp: undefined reference to `NeHe::Model::Load(basic_string<char, string_char_traits<char>, __default_alloc_template<false, 0> >, NeHe::ModelLoader &, NeHe::Texture &)'
c:\windows\desktop\model loader\example7.o(.text+0x142):example7.cpp: undefined reference to `NeHe::Model::Load(basic_string<char, string_char_traits<char>, __default_alloc_template<false, 0> >, NeHe::ModelLoader &, NeHe::Texture &)'
c:\windows\desktop\model loader\example7.o(.text+0x20d):example7.cpp: undefined reference to `NeHe::View::Translate(float, float, float)'
c:\windows\desktop\model loader\example7.o(.text+0x23e):example7.cpp: undefined reference to `NeHe::View::Scale(float, float, float)'
c:\windows\desktop\model loader\example7.o(.text+0x25c):example7.cpp: undefined reference to `NeHe::Model::DrawTimeFrame(int, float)'
c:\windows\desktop\model loader\example7.o(.text+0x2ac):example7.cpp: undefined reference to `NeHe::View::Reset(void)'
c:\windows\desktop\model loader\example7.o(.text+0x2c9):example7.cpp: undefined reference to `NeHe::View::Translate(float, float, float)'
c:\windows\desktop\model loader\example7.o(.text+0x2fa):example7.cpp: undefined reference to `NeHe::View::Scale(float, float, float)'
c:\windows\desktop\model loader\example7.o(.text+0x312):example7.cpp: undefined reference to `NeHe::StateManager::SetLighting(bool)'
c:\windows\desktop\model loader\example7.o(.text+0x32c):example7.cpp: undefined reference to `NeHe::StateManager::SetLight(int, bool)'
c:\windows\desktop\model loader\example7.o(.text+0x344):example7.cpp: undefined reference to `NeHe::StateManager::SetTexturing(bool)'
c:\windows\desktop\model loader\example7.o(.text+0x356):example7.cpp: undefined reference to `NeHe::Model::DrawFrame(int)'
c:\windows\desktop\model loader\example7.o(.text+0x36e):example7.cpp: undefined reference to `NeHe::StateManager::SetTexturing(bool)'
c:\windows\desktop\model loader\example7.o(.text+0x386):example7.cpp: undefined reference to `NeHe::StateManager::SetLighting(bool)'
c:\windows\desktop\model loader\example7.o(.text+0x412):example7.cpp: undefined reference to `NeHe::StateManager::SetColour(NeHe::Colour)'
c:\windows\desktop\model loader\example7.o(.text+0x42a):example7.cpp: undefined reference to `NeHe::StateManager::SetTexturing(bool)'
c:\windows\desktop\model loader\example7.o(.text+0x43a):example7.cpp: undefined reference to `NeHe::View::Reset(void)'
c:\windows\desktop\model loader\example7.o(.text+0x457):example7.cpp: undefined reference to `NeHe::View::Translate(float, float, float)'
c:\windows\desktop\model loader\example7.o(.text+0x47f):example7.cpp: undefined reference to `NeHe::View::Pos2D(float, float)'
c:\windows\desktop\model loader\example7.o(.text+0x4d5):example7.cpp: undefined reference to `NeHe::StateManager::SetTexturing(bool)'
c:\windows\desktop\model loader\example7.o(.text+0x546):example7.cpp: undefined reference to `NeHe::Model::Model(void)'
c:\windows\desktop\model loader\example7.o(.text+0x556):example7.cpp: undefined reference to `NeHe::Model::Model(void)'
c:\windows\desktop\model loader\example7.o(.text+0x566):example7.cpp: undefined reference to `NeHe::MD2::MD2(void)'
c:\windows\desktop\model loader\example7.o(.text+0x576):example7.cpp: undefined reference to `NeHe::Milkshape::Milkshape(void)'
c:\windows\desktop\model loader\example7.o(.text+0x5ad):example7.cpp: undefined reference to `NeHe::Milkshape::~Milkshape(void)'
c:\windows\desktop\model loader\example7.o(.text+0x5bf):example7.cpp: undefined reference to `NeHe::MD2::~MD2(void)'
c:\windows\desktop\model loader\example7.o(.text+0x5d1):example7.cpp: undefined reference to `NeHe::Model::~Model(void)'
c:\windows\desktop\model loader\example7.o(.text+0x5e3):example7.cpp: undefined reference to `NeHe::Model::~Model(void)'
c:\windows\desktop\model loader\example7.o(.text$_$_Q24NeHe7Texture+0x13):example7.cpp: undefined reference to `NeHe::Texture::Reset(void)'
c:\windows\desktop\model loader\example7.o(.text$_$_Q24NeHe4Text+0x1a):example7.cpp: undefined reference to `NeHe::Text::Clear(void)'
c:\windows\desktop\model loader\example7.o(.data$__vt_Q24NeHe6Text2D+0xc):example7.cpp: undefined reference to `NeHe::Text2D::Setup(NeHe::OpenGL *, NeHe::TextType)'
c:\windows\desktop\model loader\example7.o(.data$__vt_Q24NeHe6Text2D+0x10):example7.cpp: undefined reference to `NeHe::Text2D::Write(basic_string<char, string_char_traits<char>, __default_alloc_template<false, 0> >)'
C:\DEV-C_~1\Lib\/libmingw32.a(main.o)(.text+0x8d):main.c: undefined reference to `WinMain@16'
I think my problem is how I am linking to nehegl.lib. Where should I put it? What should I put in the linker options box? Any help would be greatly appreciated.
My Current Project Angels 22 (4E5)
Generally you go to the project options and on the 'Parameters' tab under the linker box you type in the name of the library minus the extension and adding '-l' to the start of it, e.g. for opengl32.lib you would enter '-lopengl32' (that's 'minus ell'). This is the method I've always used but looking at a '.a' file that I used for a recent project I had 'libfmod.a' but this file was in the same directory as the '.dev' file.
Hope one of those works :)
Hope one of those works :)
--
Cheers,
Darren Clark
Cheers,
Darren Clark
Hi!
It seems to me that your nehegl.lib is incompatible with your compiler. Dev-Cpp comes with Mingw, which is not compatible with every lib file. Solution is easy: compile the library with Dev-Cpp, and you get the working nehegl.a library file.
Another problem:
C:\DEV-C_~1\Lib\/libmingw32.a(main.o)(.text+0x8d):main.c: undefined reference to `WinMain@16'
Have you got an int main() function?
Anyway sending your _full_ compile log would be helpful.
Lutyo
It seems to me that your nehegl.lib is incompatible with your compiler. Dev-Cpp comes with Mingw, which is not compatible with every lib file. Solution is easy: compile the library with Dev-Cpp, and you get the working nehegl.a library file.
Another problem:
C:\DEV-C_~1\Lib\/libmingw32.a(main.o)(.text+0x8d):main.c: undefined reference to `WinMain@16'
Have you got an int main() function?
Anyway sending your _full_ compile log would be helpful.
Lutyo
The next version of the NeHeSDK will be DevC++ compatible. The NeHeGL.lib file is made by a microsoft compiler, so gcc won't be very happy with it. When my workload decreases, I should have time to sort all this out.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement