Bsdlite wrote:
Ok, I'm sure a newbie to Irrlicht...
The problem with the dx function were solved ( _IRR_COMPILE_WITH_DIRECTX_8_ were not being set...). But even fixing this, I still get errors while trying to build the dll:
[Linker error] undefined reference to `jpeg_std_error'
[Linker error] undefined reference to `jpeg_CreateDecompress'
[Linker error] undefined reference to `jpeg_resync_to_restart'
[Linker error] undefined reference to `jpeg_read_header'
[Linker error] undefined reference to `jpeg_start_decompress'
[Linker error] undefined reference to `jpeg_read_scanlines'
[Linker error] undefined reference to `jpeg_finish_decompress'
[Linker error] undefined reference to `jpeg_destroy_decompress'
[Linker error] undefined reference to `D3DXAssembleShader@28'
[Linker error] undefined reference to `D3DXAssembleShader@28'
C:\Dev-Cpp\irrlicht7custom\Irrlicht\Makefile.win [Build Error] [Irrlicht.dll] Error 1
I double checked the path to jpeg library files and everything seems to be OK. How can I solve this?
This is the same error that I get whenever I try to recompile the dll; just 100% linker errors to a library that I though (:)) I was pointing to.
Hello.try this.
compile with the debug version of the dx dlls.this worked fine and exactly that error was gone.
in devc++ under project-options linker add:
-ld3dx9d
-ld3dx8d
in devc++ under project-options compiler add:
-DIRR_COMPILE_WITH_DX9_DEV_PACK
in devc++ under project-options C++compiler add:
-DIRR_COMPILE_WITH_DX9_DEV_PACK
modify the lines in IrrCompileConfig.h like this(searchfor them..you will find):
----------1.block:----------------
#define _IRR_COMPILE_WITH_DX9_DEV_PACK_ //<---so i defined it
//! Define _IRR_COMPILE_WITH_DIRECTX_8_ and _IRR_COMPILE_WITH_DIRECTX_9_ to compile
//! the Irrlicht engine with DirectX8 and/or DirectX9.
/** If you only want to use the software device or opengl this can be useful.
This switch is mostly disabled because people do not get the g++ compiler compile
directX header files, and directX is only available on windows platforms. If you
are using Dev-Cpp, and want to compile this using a DX dev pack, you can define
_IRR_COMPILE_WITH_DX9_DEV_PACK_. So you simply need to add something like this
to the compiler settings: -DIRR_COMPILE_WITH_DX9_DEV_PACK
and this to the linker settings: -ld3dx9 -ld3dx8 **/
#if (defined(_WIN32) || defined(_XBOX)) && \
(!defined(__GNUC__) || defined(IRR_COMPILE_WITH_DX9_DEV_PACK))
#define _IRR_COMPILE_WITH_DIRECTX_8_
#define _IRR_COMPILE_WITH_DIRECTX_9_
#endif
---------1.block end----------------------
now search for ....................
----------2.block:---i comented it out but maybe it woks for you untouched
// We need to disable DirectX9 support for Visual Studio 6.0 because
// those $%&$!! disabled support for it since Dec. 2004 and users are complaining
// about linker errors. Comment this out only if you are knowing what you are
// doing. (Which means you have an old DX9 SDK and VisualStudio6).
//#if (_MSC_VER < 1300 && !defined(__GNUC__))
//#undef _IRR_COMPILE_WITH_DIRECTX_9_
//#pragma message("Compiling Irrlicht with Visual Studio 6.0, support for DX9 is disabled.")
//#endif
---------2.block end----------------------
thats it ....basically what nico wants you to do allready.....
no more modifications in IrrCompileConfig.h
now use dlls with the names:
d3d8d.dll
d3d9d.dll
and put it in your project folder.
worked fine for me but the non-debug version still give linker errors.....
compiling with the debug versions is a little bit slower but at least it works
bye(i hope i didn´t forgot something to)