Pages: [1]
  Print  
Author Topic: Problem getting a clean install to compile  (Read 17010 times)
Aquanaut
Nub


Cakes 0
Posts: 8


« on: September 22, 2014, 01:05:00 PM »

Hi.  I've been trying to compile the engine source code for a while but I get a bunch of errors.  I haven't changed anything in the code.  I just uncompressed it and opened the sln in visual studio 2008.  Compiled, and got this error which I think is causing or is related to the rest of them:

"q_shared.c(752) : error C2449: found '{' at file scope (missing function header?)"

It's an error with the Q_vsnprintf function and I'm not sure where to begin with what's wrong.
Logged
Neon_Knight
In the year 3000
***

Cakes 49
Posts: 3775


Trickster God.


« Reply #1 on: September 22, 2014, 01:09:53 PM »

Where did you download the source code?
Logged


"Detailed" is nice, but if it gets in the way of clarity, it ceases being a nice addition and becomes a problem. - TVT
Want to contribute? Read this.
Aquanaut
Nub


Cakes 0
Posts: 8


« Reply #2 on: September 22, 2014, 01:57:07 PM »

From this site.
http://openarena.ws/page.php?14

The openarena-engine-source-0.8.8.tar.bz2 file.

Upon the first time opening, it does say I have to convert it to the newer version because it was built on an older one.  Could that have something to do with it?
Logged
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #3 on: September 22, 2014, 02:36:16 PM »

Delete the last ";" in line 751 of q_shared.c

I remember getting it to compile under Visual Studio 2008 at some point although it may have been 0.8.5.
I just tried compiling using Visual Studio 2013. It later failed at linking libSDL.lib but it may be caused by compatibility problems with the new compiler or I may just need to download it elsewhere.

You may try a newer engine snapshot from https://github.com/OpenArena/engine
Logged

There are nothing offending in my posts.
Aquanaut
Nub


Cakes 0
Posts: 8


« Reply #4 on: September 22, 2014, 03:03:50 PM »

I deleted the ;
then I got a ton of fatal errors, one for each file it looks like:

c1 : fatal error C1083: Cannot open source file: '..\..\code\q3_ui\ui_video.c': No such file or directory

It looks like every file shows this error.
Logged
Aquanaut
Nub


Cakes 0
Posts: 8


« Reply #5 on: September 22, 2014, 03:47:18 PM »

I just tried the code from the link you posted and I got a different set of errors.  A bunch of unresolved errors like:

SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_POV

I'm guessing that's because the SDL dependencies weren't installed correctly?
Logged
Aquanaut
Nub


Cakes 0
Posts: 8


« Reply #6 on: September 26, 2014, 03:27:39 PM »

This is becoming frustrating. I have been following the guide at: http://wiki.ioquake3.org/Building_ioquake3_on_Windows_-_Visual_Studio_2008  After running into old broken links and the need to install other programs which then wouldn't install, without installing ther programs... I got to step 11, and have no way of setting any folder to anything because of how I had to silently install the msi.  Then I began wondering why steps 10 through 19 are even necessary.  If there are other files the source needs, couldn't they just be included with the download with instructions on where to put them?  A person shouldn't have to install a dozen programs on their computer and spend days troubleshooting just to compile a modified version of Q3.

It's the opengl dlls and the quake3 exe that's not building.  I copied the SDL.lib and SDLmain.lib to C:\Program Files\Microsoft Visual Studio 9.0\VC\lib, shouldn't that be enough to rid the sdl errors?
Here are the errors I still get on compile:

2>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_POV
4>------ Build started: Project: opengl1, Configuration: Release Win32 ------
2>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_Slider
2>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_RzAxis
2>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_RyAxis
2>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_RxAxis
2>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_ZAxis
2>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_YAxis
2>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_XAxis
2>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_Key
2>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _IID_IDirectDrawSurface3
2>SDL.lib(SDL_dx5yuv.obj) : error LNK2001: unresolved external symbol _IID_IDirectDrawSurface3
2>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _IID_IDirectDraw2
2>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _IID_IDirectDrawGammaControl
2>SDL.lib(SDL_dx5events.obj) : error LNK2001: unresolved external symbol _GUID_SysMouse
2>SDL.lib(SDL_dx5events.obj) : error LNK2001: unresolved external symbol _GUID_SysKeyboard
2>SDL.lib(SDL_dx5events.obj) : error LNK2001: unresolved external symbol _IID_IDirectInputDevice2A
2>..\..\build\opengl2_release\renderer_opengl2_x86.dll : fatal error LNK1120: 15 unresolved externals

4>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_POV
4>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_Slider
4>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_RzAxis
4>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_RyAxis
4>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_RxAxis
4>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_ZAxis
4>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_YAxis
4>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_XAxis
4>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _GUID_Key
4>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _IID_IDirectDrawSurface3
4>SDL.lib(SDL_dx5yuv.obj) : error LNK2001: unresolved external symbol _IID_IDirectDrawSurface3
4>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _IID_IDirectDraw2
4>SDL.lib(SDL_dx5video.obj) : error LNK2001: unresolved external symbol _IID_IDirectDrawGammaControl
4>SDL.lib(SDL_dx5events.obj) : error LNK2001: unresolved external symbol _GUID_SysMouse
4>SDL.lib(SDL_dx5events.obj) : error LNK2001: unresolved external symbol _GUID_SysKeyboard
4>SDL.lib(SDL_dx5events.obj) : error LNK2001: unresolved external symbol _IID_IDirectInputDevice2A
4>..\..\build\opengl1_release\renderer_opengl1_x86.dll : fatal error LNK1120: 15 unresolved externals

 Angry
Logged
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #7 on: September 26, 2014, 03:31:18 PM »

Do you have the DirectX SDK or headers installed?

I don't think the MSVC2008 files in the OA git were ever updated to work with the renderer_openarena1 module either.


DISCLAIMER: I don't use Visual Studio for building OA and the only VS I own is MSVC6 which is unsupported.  
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
Aquanaut
Nub


Cakes 0
Posts: 8


« Reply #8 on: September 26, 2014, 03:41:40 PM »

Yes, yesterday I uninstalled and reinstalled the directx sdk from: http://www.microsoft.com/en-us/download/details.aspx?id=6812

About the OA git, are you saying that it can't be built on vs2008 because it was never updated?
Logged
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #9 on: September 26, 2014, 04:04:34 PM »

I can't update projects for what I don't have. Sad

I don't think xhairball did either, since he originally did the forking and the merging of OA088 changes in the repository, which works with MinGW/Msys
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
Aquanaut
Nub


Cakes 0
Posts: 8


« Reply #10 on: October 08, 2014, 03:37:00 PM »

Here's the update:
I got 0.8.5 code to compile.  The problem was that the solution didn't include various files such as the tr_bloom.c
With 0.8.8 after adding missing files to the project and adding some missing lines from bg_public.h I can get it all to compile except cgame... I get a ton of redefinition errors starting with GT_FFA.

example:

1>c:\oasource 4\code\cgame\../game/bg_public.h(102) : error C2365: 'GT_FFA' : redefinition; previous definition was 'enumerator'
1>        c:\oasource 4\code\cgame\../game/bg_public.h(102) : see declaration of 'GT_FFA'
1>c:\oasource 4\code\cgame\../game/bg_public.h(102) : error C2086: 'GT_FFA' : redefinition
1>        c:\oasource 4\code\cgame\../game/bg_public.h(102) : see declaration of 'GT_FFA'
1>c:\oasource 4\code\cgame\../game/bg_public.h(103) : error C2365: 'GT_TOURNAMENT' : redefinition; previous definition was 'enumerator'
1>        c:\oasource 4\code\cgame\../game/bg_public.h(103) : see declaration of 'GT_TOURNAMENT'
1>c:\oasource 4\code\cgame\../game/bg_public.h(103) : error C2086: 'GT_TOURNAMENT' : redefinition


I don't understand the error because each item is only declared once yet the compiler is saying otherwise.  I don’t know if this is related and I’ve always wondered, why when you search in the entire solution for say "GT_FFA" does the same file / line come up more than once?  In this case it comes up like 5 times all referring to the initial declaration in bg_public.h  Also, stranger still if I use the cgame compiled with 0.8.5 the game works with the 0.8.8 game and exe.  Using a 0.8.8 exe and game with a 0.8.5 cgame seems wrong on so many levels but it seems to work and I don't get that. 

Also I also tried compiling the most recently update code from: https://github.com/OpenArena/engine.  When I deleted the SDL.lib from code/libs/win32 I no longer got the sdl.lib errors from above but of course, the game wouldn't start. 

It has been weeks of agony trying to get just a somewhat up to date version of OA compiling and running and I still can't.  Does anyone out there have an updated sln that they know compiles correctly that they can just zip up and link to?
Logged
Gig
In the year 3000
***

Cakes 45
Posts: 4394


WWW
« Reply #11 on: October 09, 2014, 01:08:17 AM »

Using a 0.8.8 exe and game with a 0.8.5 cgame seems wrong on so many levels but it seems to work and I don't get that. 
In theory, any 0.8.x binaries should work with any 0.8.x QVM, although a few features may be missing.
One may still have 0.8.1 binaries with 0.8.81+0.8.5+0.8.8 pk3s, and the game should work.

PS: Sorry, I cannot help at all about compiling.
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #12 on: October 09, 2014, 05:05:36 AM »

With 0.8.8 after adding missing files to the project and adding some missing lines from bg_public.h I can get it all to compile except cgame... I get a ton of redefinition errors starting with GT_FFA.
cgame, game, q3_ui and ui is not part of the engine and you are not supposed to build them. https://github.com/OpenArena/gamecode contains the source for the game code. It has branches for the 0.8.5 and 0.8.8 compatible code.
Logged

There are nothing offending in my posts.
Aquanaut
Nub


Cakes 0
Posts: 8


« Reply #13 on: October 10, 2014, 12:08:32 PM »

I used the hackish windows compile scripts that came in the code from that link:  https://github.com/OpenArena/gamecode and yes it created the game, cgame, and ui qvms.  I changed some of the weapon ROF and starting ammo to see if it was being used and there was no change... Yes vm_game and such was set to 2, and I even said "fortune favors the bold!" before trying it set to 1 and... still nothing.

Also, as mentioned in my post above, when I try to build the engine from https://github.com/OpenArena/engine I get a bunch of sdl.lib unresolved errors

I was trying to build the game, cgame, and q3ui dlls.  I just like to have everything in the same solution.  I wasn't trying to build the game/cgame as part of the engine or something like it sounds like you thought I was trying to do.

Any idea what the cause of all those cgame redefinition errors are?



Logged
Pages: [1]
  Print  
 
Jump to: