Problem with compiling Techdemo with DevCpp

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
alexem

Problem with compiling Techdemo with DevCpp

Post by alexem »

Code: Select all

Compiler: Default compiler
Building Makefile: "D:\irrlicht\examples\Techdemo\Makefile.win"
Executing  make...
make.exe -f "D:\irrlicht\examples\Techdemo\Makefile.win" all
g++.exe -c CDemo.cpp -o CDemo.o -I"D:/tools/prog/Dev-Cpp/include/c++"  -I"D:/tools/prog/Dev-Cpp/include/c++/mingw32"  -I"D:/tools/prog/Dev-Cpp/include/c++/backward"  -I"D:/tools/prog/Dev-Cpp/include"  -I"D:/irrlicht/include" -D__GNUWIN32__ -W -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS  

In file included from CDemo.cpp:4:
CDemo.h:13:78: audiere.h: No such file or directory
In file included from CDemo.cpp:4:
CDemo.h:50: 'AudioDevicePtr' is used as a type, but is not defined as a type.
CDemo.h:51: 'OutputStreamPtr' is used as a type, but is not defined as a type.
CDemo.h:52: 'OutputStreamPtr' is used as a type, but is not defined as a type.
CDemo.h:53: 'OutputStreamPtr' is used as a type, but is not defined as a type.

CDemo.h:4:1: unterminated #ifndef
CDemo.cpp: In member function `void CDemo::switchToNextScene()':
CDemo.cpp:245: warning: assignment of negative value `-1' to `u32'
CDemo.cpp:245: warning: argument of negative value `-1' to `unsigned int'

CDemo.cpp: In member function `void CDemo::shoot()':
CDemo.cpp:591: `ballSound' undeclared (first use this function)
CDemo.cpp:591: (Each undeclared identifier is reported only once for each 
   function it appears in.)

CDemo.cpp: In member function `void CDemo::createParticleImpacts()':
CDemo.cpp:639: `impactSound' undeclared (first use this function)

CDemo.cpp: In member function `void CDemo::startAudiere()':
CDemo.cpp:651: `audiereDevice' undeclared (first use this function)
CDemo.cpp:651: `OpenDevice' undeclared (first use this function)
CDemo.cpp:655: `stream' undeclared (first use this function)
CDemo.cpp:655: `OpenSound' undeclared (first use this function)

make.exe: *** [CDemo.o] Error 1

Execution terminated
I imported a vc++ project and added libs and includes manualy
shurijo
Posts: 148
Joined: Sat Feb 21, 2004 3:04 am

Post by shurijo »

Is the line of "#define USE_AUDIERE" in CDemo.H commented out? If not, then try commenting it out.
Guest

Post by Guest »

Code: Select all

// This is the current Techdemo of the Irrlicht Engine (c) 2003 by N.Gebhardt.
// This file is not documentated.

#ifndef __C_DEMO_H_INCLUDED__
#define __C_DEMO_H_INCLUDED__

#define USE_AUDIERE

#include <windows.h>
#include <irrlicht.h>

#ifdef USE_AUDIERE
#include <audiere.h> // your compiler throws an error here? get audiere from 
                     // http://audiere.sourceforge.net/ or uncomment 
                     // the define USE_AUDIERE above.


using namespace irr;
const int CAMERA_COUNT = 7;

class CDemo : public IEventReceiver
{
public:

	CDemo(bool fullscreen, bool music, bool shadows, bool additive, video::EDriverType driver);

	~CDemo();

	void run();

	virtual bool OnEvent(SEvent event);

private:

	void createLoadingScreen();
	void loadSceneData();
	void switchToNextScene();
	void shoot();
	void createParticleImpacts();

	bool fullscreen;
	bool music;
	bool shadows;
	bool additive;
	video::EDriverType driverType;
	IrrlichtDevice *device;

#ifdef USE_AUDIERE
	void startAudiere();
	AudioDevicePtr audiereDevice;
	OutputStreamPtr stream;
	OutputStreamPtr ballSound;
	OutputStreamPtr impactSound;
#endif

	struct SParticleImpact
	{
		u32 when;
		core::vector3df pos;
		core::vector3df outVector;
	};

	int currentScene;
	video::SColor backColor;

	gui::IGUIStaticText* statusText;
	gui::IGUIInOutFader* inOutFader;

	scene::IAnimatedMesh* quakeLevelMesh;
	scene::ISceneNode* quakeLevelNode;
	scene::ISceneNode* skyboxNode;
	scene::IAnimatedMeshSceneNode* model1;
	scene::IAnimatedMeshSceneNode* model2;
	scene::IParticleSystemSceneNode* campFire;

	scene::IMetaTriangleSelector* metaSelector;
	scene::ITriangleSelector* mapSelector;

	u32 sceneStartTime;
	u32 timeForThisScene;

	core::array<SParticleImpact> Impacts;
};

#endif
I mannaged to compile the others with DevCpp but they don't to work with directx only with opengl, and the effects demo gives me errors. I tried the VC++ binneries and they work fine. OpenGL is too slow btw.
James

Problem with compiling Techdemo with DevCpp

Post by James »

I have audiere, yet I cannot get the Techdemo tocompile with Dev-cpp either. All the othere examples compiled, provided I wasusing OpenGL, but with the Techdemo I get the following two linker errors


[Linker error] undefined reference to `_imp___ZN3irr12createDeviceENS_5video11EDriverTypeERKNS_4core11dimension2dIiEEjbbPNS_14IEventReceiverEPKw'


[Linker error] undefined reference to `_imp___ZN3irr12createDeviceENS_5video11EDriverTypeERKNS_4core11dimension2dIiEEjbbPNS_14IEventReceiverEPKw'

Here is the complete compiler output:

Compiler: Default compiler
Building Makefile: "C:\Documents and Settings\oakley 1\Desktop\James\C++\irrlicht-0.5\examples\Techdemo\Makefile.win"
Executing make...
make.exe -f "C:\Documents and Settings\oakley 1\Desktop\James\C++\irrlicht-0.5\examples\Techdemo\Makefile.win" all
g++.exe CDemo.o CMainMenu.o main.o -o "Techdemo.exe" -L"C:/Dev-Cpp/lib" -L"C:/DXSDK/Lib" -L"C:/Documents and Settings/oakley 1/Desktop/James/C++/irrlicht-0.5/lib/DevCpp" -L"C:/Documents and Settings/oakley 1/Desktop/James/C++/audiere-1.9.3-win32/lib" -mwindows -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32

CDemo.o(.text+0x3bc):CDemo.cpp: undefined reference to `_imp___ZN3irr12createDeviceENS_5video11EDriverTypeERKNS_4core11dimension2dIiEEjbbPNS_14IEventReceiverEPKw'
CMainMenu.o(.text+0x8ed):CMainMenu.cpp: undefined reference to `_imp___ZN3irr12createDeviceENS_5video11EDriverTypeERKNS_4core11dimension2dIiEEjbbPNS_14IEventReceiverEPKw'

make.exe: *** [Techdemo.exe] Error 1

Execution terminated


Any ideas what the error might be anyone? I'm new to Irrlicht
alexem
Posts: 35
Joined: Sun Feb 29, 2004 4:55 pm

Post by alexem »

Another thing is that the irrlicht.dll that comes compiled with dev-cpp gives me errors when I try to run it with DirectX. Something like it wasn't compiled to use dx or sth. Btw. where is audiere.h
Yours sencerely,
Alexander Milanoff
James

Problem Compiling Techdemo

Post by James »

You can get to the Audiere website from a link on the links page on the Irrlicht site. Not having Audiere is not the only problem though, I get the same linker error with or without it
Electron
Posts: 874
Joined: Sun Mar 14, 2004 12:05 am
Location: Massachusetts USA

Problem Compiling Techdemo

Post by Electron »

I noticed that you said you imported a VCC project. Why? I know Irrlicht 0.5 at least(I haven't gotten around to downloading .6 yet) has a Dev-cpp project file. I can't get it to compile though, I get two linker error(I'm James from above)
alexem
Posts: 35
Joined: Sun Feb 29, 2004 4:55 pm

Post by alexem »

Strange by me it didn't have at leastby techdemo.
btw. Will someone pls help?!
Yours sencerely,
Alexander Milanoff
Electron
Posts: 874
Joined: Sun Mar 14, 2004 12:05 am
Location: Massachusetts USA

Post by Electron »

Sorry, I was mistaken. It does not come with a Dev-cpp project file, I was forgetting that I too imported it. It would be nice If someone who actually knew how to compile it with Dev-cpp would give us some help. All the other examples have compiled fine for me.
Electron
Posts: 874
Joined: Sun Mar 14, 2004 12:05 am
Location: Massachusetts USA

Problem Compiling Techdemo

Post by Electron »

As for using DirectX, there's a thread in the faqs, how-tos and tutorials section that tells how to use DX8 with Irrlicht. Haven't tried it myself and don't know about DX9. I'd just like to get the Techdemo to compile at least with OpenGL
Electron
Posts: 874
Joined: Sun Mar 14, 2004 12:05 am
Location: Massachusetts USA

Problem Compiling Techdeno with Dev-cpp

Post by Electron »

I seem to be the only one talking on this thread right now, but I found a way toget the Techdemo to compile with Dev-cpp, problem is it will compile, but not run. All you have to do is in the linker commands add lines for libIrrlict.a, libjpeg.a and libz.a. I noticed that those are automatically under linker parameters in the Dev-cpp project files for the other examples. Maybe the #pragma comment thing doesn't work with Dev-cpp, I dunno I'm not horribly experienced with C++. Anyway, getting it to compile is a step in the right direction. Alexem, I hope that you toowill be able to get it to compile after this. If I get it to run I will post it.
alexem@abv.bg

Post by alexem@abv.bg »

Can you mail me the audiere.h // this seems to be the only problem for me
alexem@abv.bg
And the reason for not runnig may be that the irrlicht.dll is not compiled for DX.
alexem
Posts: 35
Joined: Sun Feb 29, 2004 4:55 pm

Post by alexem »

ok I tried to compile the new 6 version with audiere and I get mostly conversion errors:
Compiler: Default compiler
Building Makefile: "D:\irrlicht-0.6\examples\Techdemo\Makefile.win"
Executing make clean
rm -f CDemo.o CMainMenu.o main.o Techdemo_private.res Techdemo.exe

g++.exe -c CDemo.cpp -o CDemo.o -I"D:/tools/prog/Dev-Cpp/include/c++" -I"D:/tools/prog/Dev-Cpp/include/c++/mingw32" -I"D:/tools/prog/Dev-Cpp/include/c++/backward" -I"D:/tools/prog/Dev-Cpp/include" -I"D:/tools/prog/Dev-Cpp/include/irrlicht" -I"D:/irrlicht-0.6/include" -D__GNUWIN32__ -W -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS

CDemo.cpp: In member function `void CDemo::run()':
CDemo.cpp:69: invalid conversion from `int' to `const wchar_t*'

CDemo.cpp: In member function `void CDemo::switchToNextScene()':
CDemo.cpp:245: warning: assignment of negative value `-1' to `u32'
CDemo.cpp:245: warning: argument of negative value `-1' to `unsigned int'

make.exe: *** [CDemo.o] Error 1

Execution terminated
Is something wrong with DevCpp???
Yours sencerely,
Alexander Milanoff
Electron
Posts: 874
Joined: Sun Mar 14, 2004 12:05 am
Location: Massachusetts USA

Post by Electron »

The only one there that is actually an error is the invalid conversion one. I got that error too, and I don't know what's up with it. However, it is not crucial to the program. That's just in the swprintf function for displaying FPS and polygons. Useful information to output, but the program runs without it. You could try using another method for formatting and outputting that information. I dunno whether the problemis with gcc or not.
I just ignored the other warnings, nothing drastic seemed to come of them :)
Last edited by Electron on Fri Mar 19, 2004 8:52 pm, edited 1 time in total.
alexem
Posts: 35
Joined: Sun Feb 29, 2004 4:55 pm

Post by alexem »

I'm curious if niko is reading all of this DevCpp realted threads :roll:
Yours sencerely,
Alexander Milanoff
Post Reply