Allegro.cc - Online Community

Allegro.cc Forums » Allegro Development » Trying to build the 5.1.5 using cmake -> Visual studio 10 Win64

This thread is locked; no one can reply to it. rss feed Print
Trying to build the 5.1.5 using cmake -> Visual studio 10 Win64
kovarex
Member #14,203
April 2012

Hello fellow allegro users,

along trying to figure out the resizing problem (https://www.allegro.cc/forums/thread/612025), I tried to compile the allegro using the default system (we use custom build system in our game).

So I downloaded fresh 5.1.5 allegro and ran this command from vs command prompt as usual:

cmake -G "Visual Studio 10 Win64"

When it finished, I opened ALLEGRO.sln and tried to build it.

This is what I got in the allegro_image project:

#SelectExpand
12>gdiplus.obj : error LNK2019: unresolved external symbol GdipFree referenced in function "public: static void __cdecl Gdiplus::GdiplusBase::operator delete(void *)" (??3GdiplusBase@Gdiplus@@SAXPEAX@Z) 22>gdiplus.obj : error LNK2019: unresolved external symbol GdipAlloc referenced in function "public: static void * __cdecl Gdiplus::GdiplusBase::operator new(unsigned __int64)" (??2GdiplusBase@Gdiplus@@SAPEAX_K@Z) 32>gdiplus.obj : error LNK2019: unresolved external symbol GdipDisposeImage referenced in function "public: virtual __cdecl Gdiplus::Image::~Image(void)" (??1Image@Gdiplus@@UEAA@XZ) 42>gdiplus.obj : error LNK2019: unresolved external symbol GdipSaveImageToStream referenced in function "public: enum Gdiplus::Status __cdecl Gdiplus::Image::Save(struct IStream *,struct _GUID const *,class Gdiplus::EncoderParameters const *)" (?Save@Image@Gdiplus@@QEAA?AW4Status@2@PEAUIStream@@PEBU_GUID@@PEBVEncoderParameters@2@@Z) 52>gdiplus.obj : error LNK2019: unresolved external symbol GdipGetImageWidth referenced in function "public: unsigned int __cdecl Gdiplus::Image::GetWidth(void)" (?GetWidth@Image@Gdiplus@@QEAAIXZ) 62>gdiplus.obj : error LNK2019: unresolved external symbol GdipGetImageHeight referenced in function "public: unsigned int __cdecl Gdiplus::Image::GetHeight(void)" (?GetHeight@Image@Gdiplus@@QEAAIXZ) 72>gdiplus.obj : error LNK2019: unresolved external symbol GdipGetImagePixelFormat referenced in function "public: int __cdecl Gdiplus::Image::GetPixelFormat(void)" (?GetPixelFormat@Image@Gdiplus@@QEAAHXZ) 82>gdiplus.obj : error LNK2019: unresolved external symbol GdipCreateBitmapFromStream referenced in function "public: __cdecl Gdiplus::Bitmap::Bitmap(struct IStream *,int)" (??0Bitmap@Gdiplus@@QEAA@PEAUIStream@@H@Z) 92>gdiplus.obj : error LNK2019: unresolved external symbol GdipCreateBitmapFromStreamICM referenced in function "public: __cdecl Gdiplus::Bitmap::Bitmap(struct IStream *,int)" (??0Bitmap@Gdiplus@@QEAA@PEAUIStream@@H@Z) 102>gdiplus.obj : error LNK2019: unresolved external symbol GdipCreateBitmapFromScan0 referenced in function "public: __cdecl Gdiplus::Bitmap::Bitmap(int,int,int)" (??0Bitmap@Gdiplus@@QEAA@HHH@Z) 112>gdiplus.obj : error LNK2019: unresolved external symbol GdipBitmapLockBits referenced in function "public: enum Gdiplus::Status __cdecl Gdiplus::Bitmap::LockBits(class Gdiplus::Rect const *,unsigned int,int,class Gdiplus::BitmapData *)" (?LockBits@Bitmap@Gdiplus@@QEAA?AW4Status@2@PEBVRect@2@IHPEAVBitmapData@2@@Z) 122>gdiplus.obj : error LNK2019: unresolved external symbol GdipBitmapUnlockBits referenced in function "public: enum Gdiplus::Status __cdecl Gdiplus::Bitmap::UnlockBits(class Gdiplus::BitmapData *)" (?UnlockBits@Bitmap@Gdiplus@@QEAA?AW4Status@2@PEAVBitmapData@2@@Z) 132>gdiplus.obj : error LNK2019: unresolved external symbol GdipGetImageEncodersSize referenced in function "enum Gdiplus::Status __cdecl Gdiplus::GetImageEncodersSize(unsigned int *,unsigned int *)" (?GetImageEncodersSize@Gdiplus@@YA?AW4Status@1@PEAI0@Z) 142>gdiplus.obj : error LNK2019: unresolved external symbol GdipGetImageEncoders referenced in function "enum Gdiplus::Status __cdecl Gdiplus::GetImageEncoders(unsigned int,unsigned int,class Gdiplus::ImageCodecInfo *)" (?GetImageEncoders@Gdiplus@@YA?AW4Status@1@IIPEAVImageCodecInfo@1@@Z) 152>gdiplus.obj : error LNK2019: unresolved external symbol GdiplusShutdown referenced in function _al_shutdown_gdiplus 162>gdiplus.obj : error LNK2019: unresolved external symbol GdiplusStartup referenced in function _al_init_gdiplus 172>gdiplus.obj : error LNK2019: unresolved external symbol GdipCloneImage referenced in function "public: virtual class Gdiplus::Image * __cdecl Gdiplus::Image::Clone(void)" (?Clone@Image@Gdiplus@@UEAAPEAV12@XZ)

I guess that Gdiplus is some external library but I have no idea why it is missing.

Any ideas?

www.factorio.com - a factory building game.

Elias
Member #358
May 2000

You can disable gdiplus, the cmake option would be NATIVE_IMAGE_LOADERS or something like that. Why cmake doesn't find it would be the more interesting question of course.

--
"Either help out or stop whining" - Evert

Matthew Leverton
Supreme Loser
January 1999
avatar

Does the regular (non-Win64) build work?

kovarex
Member #14,203
April 2012

Everything compiled fine without the Win64.

Btw, I wanted to try some example that could be used to test the the resizing issue, but it seems that all the example windows are not resizable, is there some suitable example that could be used for this? (Or simply extended).

I guess that the only chance for me to find out where is the problem with the resizing is to get get the the allegro git repository and and to try to localise the problem by searching the commit.

www.factorio.com - a factory building game.

jmasterx
Member #11,410
October 2009

How about ex_resize or ex_resize2?

Go to: