Log in

View Full Version : Trying to compile with Code::Blocks


addingice
03-03-2013, 06:28 PM
Finally got a chance to setup a compile environment and work on this.

I had issues trying to get cmake to work for me on windows with visual studio 2010 (thousands and thousands of errors...um fuck that). I'm a linux guy anyways so I figured I would try things out in linux first instead.

So I switch over to my main environment, get the dependencies and ran cmake. Everything seems fine, great!

So I jump into Code::Blocks and compile and I get to about 11% compiled when I start seeing some warnings and finally an error


||=== EQEmu, all ===|
/Source/common/EmuTCPServer.h|23|warning: access declarations are deprecated in favour of using-declarations; suggestion: add the ‘using’ keyword [-Wdeprecated]|
/Source/common/EmuTCPServer.h|23|warning: access declarations are deprecated in favour of using-declarations; suggestion: add the ‘using’ keyword [-Wdeprecated]|
/Source/common/ipc_mutex.cpp||In destructor ‘EQEmu::IPCMutex::~IPCMutex()’:|
/Source/common/ipc_mutex.cpp|78|error: ‘close’ was not declared in this scope|
||=== Build finished: 1 errors, 2 warnings ===|



I'm not worried about the warnings at the moment, but the error is driving me nuts. I've scoured through and the error seems to be correct, close doesn't appear to be defined here. Surely someone else has compiled on linux and knows what I'm doing wrong here.

Zamthos
03-03-2013, 06:30 PM
Ignore me, didn't realize it was about Linux.

addingice
03-03-2013, 06:32 PM
#include "ipc_mutex.h"
#ifdef _WINDOWS
#include <Windows.h>
#else
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#endif
#include "types.h"
#include "eqemu_exception.h"

adding unistd.h seemed to have fixed it >.< seems like an odd problem though.

addingice
03-03-2013, 06:39 PM
more compile problems further in. Once i get all these figured out i'll make a pull request so we can get this compiling on linux as well =-P

demonstar55
03-03-2013, 07:03 PM
http://www.eqemulator.net/wiki/wikka.php?wakka=CMake#buildgcc

addingice
03-03-2013, 07:13 PM
yup demon, looks like i forgot the crypto dependencies. I got those fixed. Going back and checking to see if the problem was also what was causing issues with the ipc_mutex.cpp file. I'm doubting it though.

addingice
03-03-2013, 07:14 PM
yup. seems unistd.h is required for compile, it wasn't a dependencies issue.

KLS
03-04-2013, 02:05 PM
Not sure who moved this, but this is clearly a development problem not a support problem.