Author Topic: Another free compiler alternative (with IDE)  (Read 31487 times)

0 Members and 1 Guest are viewing this topic.

Offline Goober5000

  • HLP Loremaster
  • Moderator
  • 214
    • Goober5000 Productions
Another free compiler alternative (with IDE)
Microsoft is making Visual Studio Express available as a free download for one year:
http://msdn2.microsoft.com/en-us/express/aa975050.aspx

You have to pay for it ($50) if you want to continue using it after the year is up, unfortunately, but it looks like a neat option for someone who wants to program but doesn't want to use the command-line compiler.

One caveat: You can't use MFC under it, which means you won't be able to compile FRED. But newbie programmers probably shouldn't be developing for FRED anyway. ;)
« Last Edit: August 14, 2007, 04:48:31 pm by Goober5000 »

 

Offline MetalDestroyer

  • Starwars reborn!
  • 210
Re: Another free compiler alternative (with IDE)
Cool. One year to test it it's great from Microsoft.

 

Offline Tolwyn

  • The Admiral
  • Administrator
  • 214
  • Ridiculously Old Fraud
    • Wing Commander Saga
Re: Another free compiler alternative (with IDE)
Are you sure about that? :D FAQ states quite clearly, that you do not have to pay for the software :)

Do customers who acquire the Visual Studio Express products during the free promotional pricing period have to pay after the first year if they want to continue to use them?

No, as long as you download Visual Studio Express on or before November 7th 2006, you will not have to pay for it.
Wing Commander Saga: A Legend Is Reborn | WingCenter
 
Tolwyn’s reputation for risk taking with other people’s lives was considered  to understate the facts. The admiral’s willingness to sacrifice anyone or anything to achieve his objectives had long been lauded in the popular press. He was “the man who got things done”.- Colonel Blair

No errors, no random CTDs, just pure fun and proof of why getting hit with missiles is a bad thing.
-WC Saga's beta tester


Report Wing Commander Saga bugs with Mantis

 

Offline CaptJosh

  • 210
Re: Another free compiler alternative (with IDE)
Will this program handle C++? I've got some stuff I want to do for another game which requires it.
CaptJosh

There are only 10 kinds of people in the world;
those who understand binary and those who don't.

 

Offline MetalDestroyer

  • Starwars reborn!
  • 210
Re: Another free compiler alternative (with IDE)
Will this program handle C++? I've got some stuff I want to do for another game which requires it.

Here the answer from the FAQ ( http://msdn.microsoft.com/vstudio/express/support/faq/default.aspx#pricing ):
Quote
42.     Does Visual C++ 2005 Express Edition include MFC and ATL?
   

No, MFC and ATL are not included with Visual C++ 2005 Express. MFC and ATL will be included in all other Visual Studio 2005 Editions.

43.    I noticed that some of the other Express Editions have "Starter Kits." Where are the Starter Kits for Visual C++ 2005 Express?
   

There currently aren't any full-fledged Starter Kits for Visual C++ 2005 Express. However, Visual C++ Express can be used to build many existing C++ projects. Additionally, sample code and documentation are included with Visual C++ Express.

So, you have C++ but no librairies for MFC project or ATL if you want to make windows.

 

Offline Goober5000

  • HLP Loremaster
  • Moderator
  • 214
    • Goober5000 Productions
Re: Another free compiler alternative (with IDE)
Are you sure about that? :D FAQ states quite clearly, that you do not have to pay for the software :)

Hm, interesting.  They must have changed that entry recently, because when I read the FAQ it said you had to pay to continue using it.

 

Offline CaptJosh

  • 210
Re: Another free compiler alternative (with IDE)
The stuff I'm wanting to work with doesn't involve making windows. It's just that the mission/campaign scripting API of Starfleet Command: Orion Pirates uses C++. So no window libraries shouldn't be an issue for me at all. Cool.
CaptJosh

There are only 10 kinds of people in the world;
those who understand binary and those who don't.

 

Offline Shade

  • 211
Re: Another free compiler alternative (with IDE)
Decided to try this out today, never did manage to convince myself that buying a copy of visual studio was worth it for hobby programming, but free certainly is a compelling price. Not to mention an IDE is a nice upgrade over textpad and an old command line compiler...

So downloaded and installed it, and the CVS instructions in the SCP page set me up with the code shortly thereafter. So a good start :) But damn... having loaded it up (using the MSVC 2005 project, which worked perfectly as expected) and taken a quick look, I have to admit that I'm totally lost in this code. Never dealt with anything even remotely this large before, but I guess that's to be expected from a fully fledged commercial (well, formerly commercial) game. I had to actually use search just to locate the main functions. You guys need an animated guide or something to help people like me who have never seen anything as large as this before get started :p

Anyway, tried to compile just to see if it'd work and got a lot of missing file errors. I guess hoping that just having a professional compiler would be enough was a bit over-optimistic. But then, I've never really worried about 3d graphics or any kind of sound in what I've done so far, so this is a brave new world for me. One time has to be the first though, doesn't it? Anyway, in case anyone else who decides to try this has problems similar to mine, I figure I should list how I got most of my problems fixed:

Errors about windows, winsock and such: You need the platform SDK, which you can get from http://www.microsoft.com/downloads/Browse.aspx?displaylang=en&categoryid=10. If using XP like me, you want the "Windows server 2003 SP1" SDK, in case that isn't obvious (it wasn't to me). After installing it you need to register its directories with VC++. The SDK includes a utility to do this automatically, but it didn't work fully for me - The include directory wasn't registered. If it's the same for you, instead open VC++, go to Tools->Options->Projects & Solutions->VC++ directories, select 'Include files', and add a line with the path to the include directory of your platform SDK installation. Might be a good idea to check if it registered library files properly just in case (under library files instead of include files, and with the lib directory instead of include. Only difference), it did for me but you never know.

Errors about ogg, vorbis and the like: You need libogg and libvorbis. but if you got the code from CVS, you already have them - They're in fs2_open/oggvorbis in the directory where you put the CVS code. You just need to register the include and lib directories with VC++ in the same way I described for the platform SDK.

Errors about d3d8: This is the directX SDK that's missing, but again, you probably already have the parts you need in the fs2_open/dx8sdk and fs2_open/dx9sdk directories. Just register the include and lib directories for both of them as before.

Doing this took care of most errors for me. All but 6, in fact. Three were due to undeclared variables in for loops - Basically, 'for (i=0...)' instead of the proper 'for (int i=0...)' that I fixed as they showed up. But three I can't seem to figure out:

1) fatal error C1189: #error :  Need to include strsafe.h after tchar.h. Now, it's pretty obvious what's wrong, but having no idea where specifically strsafe.h is included (a search didn't turn anything up) I can't fix it. Any hints?

2) BSCMAKE: error BK1506 : cannot open file '.\Release\Profile\dx8show.sbr': No such file or directory. I have no clue on this one, so any help would be appreciated.

3) LINK : fatal error LNK1181: cannot open input file 'Quartz.lib'. As far as I can tell (with the help of google) It's a DirectShow file, but I can't seem to find it in the partial SDKs that came with CVS. Would downloading the full DX9 SDK help?

Finally, there's a ton of warnings, but almost all of them are about variable conversions so nothing serious. I'll figure out how to turn those off eventually. Regardless, thanks for pointing out this IDE, and if anyone can help me solve these last few errors I'd be very grateful. And even if I can't get it to work for FSO, I'm sure I'll get good use out of it for other things :)
Report FS_Open bugs with Mantis  |  Find the latest FS_Open builds Here  |  Interested in FRED? Check out the Wiki's FRED Portal | Diaspora: Website / Forums
"Oooooooooooooooooooooooooooooooooooooooh ****ing great. 2200 references to entry->index and no idea which is the one that ****ed up" - Karajorma
"We are all agreed that your theory is crazy. The question that divides us is whether it is crazy enough to have a chance of being correct." - Niels Bohr
<Cobra|> You play this mission too intelligently.

 

Offline Goober5000

  • HLP Loremaster
  • Moderator
  • 214
    • Goober5000 Productions
Re: Another free compiler alternative (with IDE)
You definitely need to install a full DirectX SDK for DirectX to work.  The files in CVS are only there to "patch" between different versions; they aren't the whole thing.

Those should take care of your problems.  If (2) still persists, disable "Create browse info".


 

Offline Shade

  • 211
Re: Another free compiler alternative (with IDE)
Thanks for the quick reply. I was apprehensive about suffering through a 200+ mb download if I didn't know whether it would fix anything, but I got it downloading while I was at work today so got it now.

I hadn't honestly expected it to fix the strsafe.h error, and indeed it didn't. I imagine for that I simply need to track down where those two files are included and then reverse the order they're included in, just as the error message says. That's the project for the day, or week, depending on time and/or luck.

[Edit cause I'm apparently not as smart as I thought I was] The quartz.lib error turned out to be a human error. Instead of registering the lib/x86 of the dx9sdk patch directory you just mentioned, I'd just registered lib like i did for dx8sdk. You'd already provided me with what I needed... I just needed to tell VC++ to look in the right place instead of the wrong one.

And finally, your fix for (2) worked perfectly, so that just leaves that one error. Hope lives yet :)

[Edit] Well, almost one error... after that I was missing libjpeg.lib. Fairly certain I didn't forget to register anything this time, as there isn't a lib directory in the cvs libjpeg version at all. Got that fixed by downloading libjpeg from http://www.sfu.ca/~swongu/libjpeg/, but now another error has me stumped: LINK : fatal error LNK1181: cannot open input file 'code.lib'. That, I'm afraid, is a bit too generic a name for google to be of much help. Just in case it once again turns out that I'm to blame with a dumb registration error though, I'm sorry in advance if I end up wasting anyone's time with this problem.

For ease of error-tracking, here is the stuff I've downloaded and registered so far, with both include and library files as applicable (double and triple checked that after my earlier oversights):

dx8sdk, dx9sdk, libjpeg and oggvorbis from CVS.
The platform SDK linked to in my first post.
The october 2005 DirectX SDK found here: http://www.microsoft.com/downloads/details.aspx?FamilyId=1C8DC451-2DBE-4ECC-8C57-C52EEA50C20A&displaylang=en
The libjpeg download mentioned above.
libvorbis 1.1.2 and libogg 1.1.3 found here: http://www.xiph.org/downloads/

I take it i'm still missing something important in that list.
« Last Edit: December 19, 2005, 10:44:53 am by Shade »
Report FS_Open bugs with Mantis  |  Find the latest FS_Open builds Here  |  Interested in FRED? Check out the Wiki's FRED Portal | Diaspora: Website / Forums
"Oooooooooooooooooooooooooooooooooooooooh ****ing great. 2200 references to entry->index and no idea which is the one that ****ed up" - Karajorma
"We are all agreed that your theory is crazy. The question that divides us is whether it is crazy enough to have a chance of being correct." - Niels Bohr
<Cobra|> You play this mission too intelligently.

 

Offline Goober5000

  • HLP Loremaster
  • Moderator
  • 214
    • Goober5000 Productions
Re: Another free compiler alternative (with IDE)
:wtf: Okay, the lib errors mean the project isn't set up right.  Libjpeg.lib is supposed to be generated by the libjpeg code out of CVS.  Likewise code.lib with the Freespace code.  You may have to build all the individual projects manually or something.

As for strsafe.h, try shuffling the order of the #include files in MSVC.  If the DX lib is included before the MSVC libs, try reversing them.  Keep shuffling them around; one of those combinations should work.  It did for me. ;)

Incidentally the workspace and project files in CVS are supposed to have all this tweaky stuff done already. :( I know the MSVC 6 one does; I'm maintaining it myself. ;) You might want to see if you can import the MSVC 6 workspace.

 

Offline Shade

  • 211
Re: Another free compiler alternative (with IDE)
Thanks, I think I see what's going on now :) It all hinges on the strsafe.h error since that's in the code part of the project, and thus the error in compiling that is keeping libjpeg.lib and code.lib from being available to the freespace2 part that relies on them later in the process. So I guess it really is just one error. I'll get to tweaking, and when/if get it resolved and working I'll make sure to post what to change to make it work. Will save the MSVC6 project as a last resort option though, as it would give me a fair amount of personal satisfaction to get this working by now  ;)
Report FS_Open bugs with Mantis  |  Find the latest FS_Open builds Here  |  Interested in FRED? Check out the Wiki's FRED Portal | Diaspora: Website / Forums
"Oooooooooooooooooooooooooooooooooooooooh ****ing great. 2200 references to entry->index and no idea which is the one that ****ed up" - Karajorma
"We are all agreed that your theory is crazy. The question that divides us is whether it is crazy enough to have a chance of being correct." - Niels Bohr
<Cobra|> You play this mission too intelligently.

 

Offline Shade

  • 211
Re: Another free compiler alternative (with IDE)
I finally got rid of the strsafe error by moving the include for tchar.h in dx8show to be the first instead of the last include, but then I just ran into another bunch of missing file errors. Having become pretty familiar with the code and the IDE by now though, I think I can say definitively that the MSVC 2005 solution is simply buggered all to hell.

Basically, the whole ai directory doesn't show up anywhere in the 2005 solution, instead all the files from it are somehow placed into the ships directory. That's what gave the new missing file errors, since they obviously aren't there. I managed to fix -that- error by copying the full contents of the ai directory over to ships, which finally allowed code.lib to compile... only to once again be missing libjpeg.lib when trying to compile freespace2 at the end.

So I finally caved in and loaded up and converted the MSVC 6 workspace to compare the two. Sure enough, it's got both a libjpeg and even a liblua project, neither of which are anywhere in the 2005 solution. So no wonder they were missing every time I tried to compile. Still, it did do some good. I've got a far better understanding of both the IDE and the code itself after compiling, troubleshooting, recompiling, retroubleshooting ad infinitum over the last few days :) Nowhere near as lost in the code now as I was at first, and even I managed to fix a few bugs (well, tiny ones, but they're still bugs! Those would be the for loop errors I spoke of at first, though I'm not even sure most compilers will actually refuse to compile because of them, rather than just throwing a warning).

With that out of the way, on to the important stuff: Using a fresh CVS copy since I had no idea how much my earlier tampering might have messed up, and using the converted MSVC 6 workspace, things went much smoother. libjpeg.lib and liblua.lib compiled without a hitch on first run, while code.lib just needed those couple of for loops fixed and browse information disabled once more to compile, though with the following warnings:

Creating library...
vdsound.lib(DSOUND.dll) : warning LNK4006: __NULL_IMPORT_DESCRIPTOR already defined in vdinput.lib(DINPUT.dll); second definition ignored
vdsound.lib(DSOUND.dll) : warning LNK4221: no public symbols found; archive member will be inaccessible
multi_oo.obj : warning LNK4221: no public symbols found; archive member will be inaccessible

Very good for a practically untweaked, recently converted workspace :) freespace2 didn't play as nice though. First, it came up with an error about missing libci.lib, but a little googling had that taken care of quickly by just telling the compiler to ignore it. After that though, it went really bad with the ton of errors shown in the next post. Still, it's the farthest I've seen it go yet, so overall I'm pretty happy :D
« Last Edit: December 21, 2005, 04:24:06 pm by Shade »
Report FS_Open bugs with Mantis  |  Find the latest FS_Open builds Here  |  Interested in FRED? Check out the Wiki's FRED Portal | Diaspora: Website / Forums
"Oooooooooooooooooooooooooooooooooooooooh ****ing great. 2200 references to entry->index and no idea which is the one that ****ed up" - Karajorma
"We are all agreed that your theory is crazy. The question that divides us is whether it is crazy enough to have a chance of being correct." - Niels Bohr
<Cobra|> You play this mission too intelligently.

 

Offline Shade

  • 211
Re: Another free compiler alternative (with IDE)
The errors:

Generating Code...
Compiling resources...
Linking...
Dxerr8.lib(dxerr8.obj) : error LNK2019: unresolved external symbol __imp__MessageBoxA@16 referenced in function _DXGetErrorString8A@4
code.lib(WinDebug.obj) : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
code.lib(gropengl.obj) : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
code.lib(GrD3Dsetup.obj) : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
code.lib(dx8show.obj) : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
code.lib(ModelRead.obj) : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
code.lib(Multi.obj) : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
code.lib(cfile.obj) : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
code.lib(stand_gui.obj) : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
freespace.obj : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
code.lib(MissionParse.obj) : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
code.lib(cmdline.obj) : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
code.lib(Sound.obj) : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
code.lib(GrD3Dsetup.obj) : error LNK2001: unresolved external symbol __imp__ShowWindow@8
freespace.obj : error LNK2019: unresolved external symbol __imp__ShowWindow@8 referenced in function "void __cdecl game_init(void)" (?game_init@@YAXXZ)
code.lib(OsApi.obj) : error LNK2001: unresolved external symbol __imp__ShowWindow@8
code.lib(stand_gui.obj) : error LNK2001: unresolved external symbol __imp__ShowWindow@8
code.lib(gropengl.obj) : error LNK2001: unresolved external symbol __imp__ShowWindow@8
freespace.obj : error LNK2019: unresolved external symbol __imp__ShowCursor@4 referenced in function "void __cdecl game_init(void)" (?game_init@@YAXXZ)
code.lib(OsApi.obj) : error LNK2001: unresolved external symbol __imp__ShowCursor@4
code.lib(WinDebug.obj) : error LNK2001: unresolved external symbol __imp__ShowCursor@4
code.lib(GrD3Dsetup.obj) : error LNK2001: unresolved external symbol __imp__ShowCursor@4
freespace.obj : error LNK2019: unresolved external symbol __imp__ClipCursor@4 referenced in function "void __cdecl game_init(void)" (?game_init@@YAXXZ)
code.lib(OsApi.obj) : error LNK2001: unresolved external symbol __imp__ClipCursor@4
code.lib(GrD3Dsetup.obj) : error LNK2001: unresolved external symbol __imp__ClipCursor@4
freespace.obj : error LNK2019: unresolved external symbol __imp__CoUninitialize@0 referenced in function _WinMain@16
code.lib(ds.obj) : error LNK2001: unresolved external symbol __imp__CoUninitialize@0
freespace.obj : error LNK2019: unresolved external symbol __imp__SetForegroundWindow@4 referenced in function _WinMain@16
code.lib(gropengl.obj) : error LNK2001: unresolved external symbol __imp__SetForegroundWindow@4
code.lib(GrD3Dsetup.obj) : error LNK2001: unresolved external symbol __imp__SetForegroundWindow@4
code.lib(dx8show.obj) : error LNK2001: unresolved external symbol __imp__SetForegroundWindow@4
freespace.obj : error LNK2019: unresolved external symbol __imp__FindWindowA@8 referenced in function _WinMain@16
freespace.obj : error LNK2019: unresolved external symbol __imp__CoInitialize@4 referenced in function _WinMain@16
code.lib(Font.obj) : error LNK2019: unresolved external symbol __imp__GetTextExtentPoint32A@16 referenced in function "void __cdecl gr_get_string_size_win(int *,int *,char *)" (?gr_get_string_size_win@@YAXPAH0PAD@Z)
code.lib(Font.obj) : error LNK2019: unresolved external symbol __imp__SelectObject@8 referenced in function "void __cdecl gr_get_string_size_win(int *,int *,char *)" (?gr_get_string_size_win@@YAXPAH0PAD@Z)
code.lib(movie.obj) : error LNK2001: unresolved external symbol __imp__SelectObject@8
code.lib(Key.obj) : error LNK2019: unresolved external symbol __imp__GetKeyboardState@4 referenced in function "int __cdecl key_numlock_is_on(void)" (?key_numlock_is_on@@YAHXZ)
code.lib(Key.obj) : error LNK2019: unresolved external symbol __imp__SetKeyboardState@4 referenced in function "void __cdecl key_turn_off_numlock(void)" (?key_turn_off_numlock@@YAXXZ)
code.lib(Mouse.obj) : error LNK2019: unresolved external symbol __imp__ScreenToClient@8 referenced in function "void __cdecl getWindowMousePos(struct tagPOINT *)" (?getWindowMousePos@@YAXPAUtagPOINT@@@Z)
code.lib(Mouse.obj) : error LNK2019: unresolved external symbol __imp__GetCursorPos@4 referenced in function "void __cdecl getWindowMousePos(struct tagPOINT *)" (?getWindowMousePos@@YAXPAUtagPOINT@@@Z)
code.lib(Mouse.obj) : error LNK2019: unresolved external symbol __imp__SetCursorPos@8 referenced in function "void __cdecl setWindowMousePos(struct tagPOINT *)" (?setWindowMousePos@@YAXPAUtagPOINT@@@Z)
code.lib(Mouse.obj) : error LNK2019: unresolved external symbol __imp__ClientToScreen@8 referenced in function "void __cdecl setWindowMousePos(struct tagPOINT *)" (?setWindowMousePos@@YAXPAUtagPOINT@@@Z)
code.lib(GrD3D.obj) : error LNK2001: unresolved external symbol __imp__ClientToScreen@8
code.lib(GrD3DRender.obj) : error LNK2001: unresolved external symbol __imp__ClientToScreen@8
code.lib(OsRegistry.obj) : error LNK2019: unresolved external symbol __imp__RegCloseKey@4 referenced in function "void __cdecl os_config_remove(char *,char *)" (?os_config_remove@@YAXPAD0@Z)
code.lib(swff_lib.obj) : error LNK2001: unresolved external symbol __imp__RegCloseKey@4
d3dx8.lib(cpudetect.obj) : error LNK2001: unresolved external symbol __imp__RegCloseKey@4
code.lib(OsRegistry.obj) : error LNK2019: unresolved external symbol __imp__RegDeleteValueA@8 referenced in function "void __cdecl os_config_remove(char *,char *)" (?os_config_remove@@YAXPAD0@Z)
code.lib(OsRegistry.obj) : error LNK2019: unresolved external symbol __imp__RegCreateKeyExA@36 referenced in function "void __cdecl os_config_remove(char *,char *)" (?os_config_remove@@YAXPAD0@Z)
code.lib(OsRegistry.obj) : error LNK2019: unresolved external symbol __imp__RegDeleteKeyA@8 referenced in function "void __cdecl os_config_remove(char *,char *)" (?os_config_remove@@YAXPAD0@Z)
code.lib(OsRegistry.obj) : error LNK2019: unresolved external symbol __imp__RegSetValueExA@24 referenced in function "void __cdecl os_config_write_string(char *,char *,char *)" (?os_config_write_string@@YAXPAD00@Z)
code.lib(swff_lib.obj) : error LNK2001: unresolved external symbol __imp__RegSetValueExA@24
code.lib(OsRegistry.obj) : error LNK2019: unresolved external symbol __imp__RegQueryValueExA@24 referenced in function "char * __cdecl os_config_read_string(char *,char *,char *)" (?os_config_read_string@@YAPADPAD00@Z)
d3dx8.lib(cpudetect.obj) : error LNK2001: unresolved external symbol __imp__RegQueryValueExA@24
code.lib(OsRegistry.obj) : error LNK2019: unresolved external symbol __imp__RegOpenKeyExA@20 referenced in function "char * __cdecl os_config_read_string(char *,char *,char *)" (?os_config_read_string@@YAPADPAD00@Z)
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__SetWindowTextA@8 referenced in function "void __cdecl os_set_title(char *)" (?os_set_title@@YAXPAD@Z)
code.lib(multi_options.obj) : error LNK2001: unresolved external symbol __imp__SetWindowTextA@8
code.lib(stand_gui.obj) : error LNK2001: unresolved external symbol __imp__SetWindowTextA@8
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__PostMessageA@16 referenced in function "void __cdecl os_cleanup(void)" (?os_cleanup@@YAXXZ)
code.lib(stand_gui.obj) : error LNK2001: unresolved external symbol __imp__PostMessageA@16
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__DispatchMessageA@4 referenced in function "unsigned long __cdecl win32_process2(unsigned long)" (?win32_process2@@YAKK@Z)
code.lib(stand_gui.obj) : error LNK2001: unresolved external symbol __imp__DispatchMessageA@4
Report FS_Open bugs with Mantis  |  Find the latest FS_Open builds Here  |  Interested in FRED? Check out the Wiki's FRED Portal | Diaspora: Website / Forums
"Oooooooooooooooooooooooooooooooooooooooh ****ing great. 2200 references to entry->index and no idea which is the one that ****ed up" - Karajorma
"We are all agreed that your theory is crazy. The question that divides us is whether it is crazy enough to have a chance of being correct." - Niels Bohr
<Cobra|> You play this mission too intelligently.

 

Offline Shade

  • 211
Re: Another free compiler alternative (with IDE)
code.lib(movie.obj) : error LNK2001: unresolved external symbol __imp__DispatchMessageA@4
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__TranslateMessage@4 referenced in function "unsigned long __cdecl win32_process2(unsigned long)" (?win32_process2@@YAKK@Z)
code.lib(stand_gui.obj) : error LNK2001: unresolved external symbol __imp__TranslateMessage@4
code.lib(movie.obj) : error LNK2001: unresolved external symbol __imp__TranslateMessage@4
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__PeekMessageA@20 referenced in function "unsigned long __cdecl win32_process2(unsigned long)" (?win32_process2@@YAKK@Z)
code.lib(stand_gui.obj) : error LNK2001: unresolved external symbol __imp__PeekMessageA@20
code.lib(movie.obj) : error LNK2001: unresolved external symbol __imp__PeekMessageA@20
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__EnumWindows@8 referenced in function "void __cdecl os_check_debugger(void)" (?os_check_debugger@@YAXXZ)
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__GetWindowTextA@12 referenced in function "int __stdcall os_enum_windows(struct HWND__ *,char *)" (?os_enum_windows@@YGHPAUHWND__@@PAD@Z)
code.lib(stand_gui.obj) : error LNK2001: unresolved external symbol __imp__GetWindowTextA@12
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__DefWindowProcA@16 referenced in function "long __stdcall win32_message_handler(struct HWND__ *,unsigned int,unsigned int,long)" (?win32_message_handler@@YGJPAUHWND__@@IIJ@Z)
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__PostQuitMessage@4 referenced in function "long __stdcall win32_message_handler(struct HWND__ *,unsigned int,unsigned int,long)" (?win32_message_handler@@YGJPAUHWND__@@IIJ@Z)
code.lib(stand_gui.obj) : error LNK2001: unresolved external symbol __imp__PostQuitMessage@4
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__GetMessageTime@0 referenced in function "long __stdcall win32_message_handler(struct HWND__ *,unsigned int,unsigned int,long)" (?win32_message_handler@@YGJPAUHWND__@@IIJ@Z)
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__UpdateWindow@4 referenced in function "int __cdecl win32_create_window(void)" (?win32_create_window@@YAHXZ)
code.lib(GrD3Dsetup.obj) : error LNK2001: unresolved external symbol __imp__UpdateWindow@4
code.lib(dx8show.obj) : error LNK2001: unresolved external symbol __imp__UpdateWindow@4
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__CreateWindowExA@48 referenced in function "int __cdecl win32_create_window(void)" (?win32_create_window@@YAHXZ)
code.lib(stand_gui.obj) : error LNK2001: unresolved external symbol __imp__CreateWindowExA@48
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__GetWindowRect@8 referenced in function "int __cdecl win32_create_window(void)" (?win32_create_window@@YAHXZ)
code.lib(GrD3Dsetup.obj) : error LNK2001: unresolved external symbol __imp__GetWindowRect@8
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__GetDesktopWindow@0 referenced in function "int __cdecl win32_create_window(void)" (?win32_create_window@@YAHXZ)
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__GetSystemMetrics@4 referenced in function "int __cdecl win32_create_window(void)" (?win32_create_window@@YAHXZ)
code.lib(dx8show.obj) : error LNK2001: unresolved external symbol __imp__GetSystemMetrics@4
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__RegisterClassExA@4 referenced in function "int __cdecl win32_create_window(void)" (?win32_create_window@@YAHXZ)
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__LoadCursorA@8 referenced in function "int __cdecl win32_create_window(void)" (?win32_create_window@@YAHXZ)
code.lib(OsApi.obj) : error LNK2019: unresolved external symbol __imp__LoadIconA@8 referenced in function "int __cdecl win32_create_window(void)" (?win32_create_window@@YAHXZ)
code.lib(stand_gui.obj) : error LNK2019: unresolved external symbol __imp__CreateDialogParamA@20 referenced in function "void __cdecl std_create_gen_dialog(char *)" (?std_create_gen_dialog@@YAXPAD@Z)
code.lib(stand_gui.obj) : error LNK2019: unresolved external symbol __imp__DestroyWindow@4 referenced in function "void __cdecl std_destroy_gen_dialog(void)" (?std_destroy_gen_dialog@@YAXXZ)
code.lib(stand_gui.obj) : error LNK2019: unresolved external symbol __imp__GetDlgItem@8 referenced in function "void __cdecl std_gen_set_text(char *,int)" (?std_gen_set_text@@YAXPADH@Z)
code.lib(stand_gui.obj) : error LNK2019: unresolved external symbol __imp__SendMessageA@16 referenced in function "void __cdecl std_connect_add_ip_string(char *)" (?std_connect_add_ip_string@@YAXPAD@Z)
code.lib(WinDebug.obj) : error LNK2001: unresolved external symbol __imp__SendMessageA@16
code.lib(stand_gui.obj) : error LNK2019: unresolved external symbol __imp__LoadBitmapA@8 referenced in function "void __cdecl std_multi_init_multi_controls(struct HWND__ *)" (?std_multi_init_multi_controls@@YAXPAUHWND__@@@Z)
code.lib(stand_gui.obj) : error LNK2019: unresolved external symbol __imp__SetWindowPos@28 referenced in function "void __cdecl std_mutate_sheet(void)" (?std_mutate_sheet@@YAXXZ)
code.lib(gropengl.obj) : error LNK2001: unresolved external symbol __imp__SetWindowPos@28
code.lib(GrD3Dsetup.obj) : error LNK2001: unresolved external symbol __imp__SetWindowPos@28
code.lib(dx8show.obj) : error LNK2001: unresolved external symbol __imp__SetWindowPos@28
code.lib(stand_gui.obj) : error LNK2019: unresolved external symbol __imp__GetWindow@8 referenced in function "void __cdecl std_mutate_sheet(void)" (?std_mutate_sheet@@YAXXZ)
code.lib(stand_gui.obj) : error LNK2019: unresolved external symbol __imp__SetWindowLongA@12 referenced in function "struct HWND__ * __cdecl std_init_property_sheet(struct HWND__ *)" (?std_init_property_sheet@@YAPAUHWND__@@PAU1@@Z)
code.lib(gropengl.obj) : error LNK2001: unresolved external symbol __imp__SetWindowLongA@12
code.lib(GrD3Dsetup.obj) : error LNK2001: unresolved external symbol __imp__SetWindowLongA@12
code.lib(stand_gui.obj) : error LNK2019: unresolved external symbol __imp__GetWindowLongA@8 referenced in function "struct HWND__ * __cdecl std_init_property_sheet(struct HWND__ *)" (?std_init_property_sheet@@YAPAUHWND__@@PAU1@@Z)
code.lib(stand_gui.obj) : error LNK2019: unresolved external symbol __imp__WaitMessage@0 referenced in function "unsigned long __cdecl standalone_process(unsigned short)" (?standalone_process@@YAKG@Z)
code.lib(Joy_ff.obj) : error LNK2019: unresolved external symbol __imp__wsprintfA referenced in function "int __cdecl joy_ff_init(void)" (?joy_ff_init@@YAHXZ)
code.lib(ExceptionHandler.obj) : error LNK2001: unresolved external symbol __imp__wsprintfA
code.lib(WinDebug.obj) : error LNK2019: unresolved external symbol __imp__CloseClipboard@0 referenced in function "void __cdecl dump_text_to_clipboard(char *)" (?dump_text_to_clipboard@@YAXPAD@Z)
code.lib(WinDebug.obj) : error LNK2019: unresolved external symbol __imp__SetClipboardData@8 referenced in function "void __cdecl dump_text_to_clipboard(char *)" (?dump_text_to_clipboard@@YAXPAD@Z)
code.lib(WinDebug.obj) : error LNK2019: unresolved external symbol __imp__EmptyClipboard@0 referenced in function "void __cdecl dump_text_to_clipboard(char *)" (?dump_text_to_clipboard@@YAXPAD@Z)
code.lib(WinDebug.obj) : error LNK2019: unresolved external symbol __imp__OpenClipboard@4 referenced in function "void __cdecl dump_text_to_clipboard(char *)" (?dump_text_to_clipboard@@YAXPAD@Z)
code.lib(movie.obj) : error LNK2019: unresolved external symbol __imp__EndPaint@8 referenced in function "bool __cdecl movie_play(char *)" (?movie_play@@YA_NPAD@Z)
code.lib(movie.obj) : error LNK2019: unresolved external symbol __imp__DeleteObject@4 referenced in function "bool __cdecl movie_play(char *)" (?movie_play@@YA_NPAD@Z)
d3dx8.lib(cd3dxresource.obj) : error LNK2001: unresolved external symbol __imp__DeleteObject@4
code.lib(movie.obj) : error LNK2019: unresolved external symbol __imp__Polygon@12 referenced in function "bool __cdecl movie_play(char *)" (?movie_play@@YA_NPAD@Z)
code.lib(movie.obj) : error LNK2019: unresolved external symbol __imp__CreateSolidBrush@4 referenced in function "bool __cdecl movie_play(char *)" (?movie_play@@YA_NPAD@Z)
code.lib(movie.obj) : error LNK2019: unresolved external symbol __imp__BeginPaint@8 referenced in function "bool __cdecl movie_play(char *)" (?movie_play@@YA_NPAD@Z)
code.lib(movie.obj) : error LNK2019: unresolved external symbol __imp__InvalidateRect@12 referenced in function "bool __cdecl movie_play(char *)" (?movie_play@@YA_NPAD@Z)
code.lib(ExceptionHandler.obj) : error LNK2019: unresolved external symbol __imp__wvsprintfA@12 referenced in function "void __cdecl hprintf(void *,char *,...)" (?hprintf@@YAXPAXPADZZ)
code.lib(ExceptionHandler.obj) : error LNK2019: unresolved external symbol __imp__GetUserNameA@8 referenced in function "void __cdecl RecordSystemInformation(void *)" (?RecordSystemInformation@@YAXPAX@Z)
code.lib(gropengl.obj) : error LNK2019: unresolved external symbol __imp__ChangeDisplaySettingsA@8 referenced in function "void __cdecl opengl_go_fullscreen(void)" (?opengl_go_fullscreen@@YAXXZ)
code.lib(gropengl.obj) : error LNK2019: unresolved external symbol __imp__SetActiveWindow@4 referenced in function "void __cdecl opengl_go_fullscreen(void)" (?opengl_go_fullscreen@@YAXXZ)
code.lib(GrD3Dsetup.obj) : error LNK2001: unresolved external symbol __imp__SetActiveWindow@4
code.lib(gropengl.obj) : error LNK2019: unresolved external symbol __imp__SwapBuffers@4 referenced in function "void __cdecl gr_opengl_flip(void)" (?gr_opengl_flip@@YAXXZ)
code.lib(gropengl.obj) : error LNK2019: unresolved external symbol __imp__SetDeviceGammaRamp@8 referenced in function "void __cdecl gr_opengl_set_gamma(float)" (?gr_opengl_set_gamma@@YAXM@Z)
code.lib(gropengl.obj) : error LNK2019: unresolved external symbol __imp__GetDeviceGammaRamp@8 referenced in function "int __cdecl opengl_init_display_device(void)" (?opengl_init_display_device@@YAHXZ)
code.lib(gropengl.obj) : error LNK2019: unresolved external symbol __imp__SetPixelFormat@12 referenced in function "int __cdecl opengl_init_display_device(void)" (?opengl_init_display_device@@YAHXZ)
code.lib(gropengl.obj) : error LNK2019: unresolved external symbol __imp__ChoosePixelFormat@8 referenced in function "int __cdecl opengl_init_display_device(void)" (?opengl_init_display_device@@YAHXZ)
code.lib(gropengl.obj) : error LNK2019: unresolved external symbol __imp__GetDC@4 referenced in function "int __cdecl opengl_init_display_device(void)" (?opengl_init_display_device@@YAHXZ)
code.lib(GrD3Dsetup.obj) : error LNK2019: unresolved external symbol __imp__GetClientRect@8 referenced in function "bool __cdecl d3d_init_win32(int,int)" (?d3d_init_win32@@YA_NHH@Z)
code.lib(dx8show.obj) : error LNK2001: unresolved external symbol __imp__GetClientRect@8
code.lib(swff_lib.obj) : error LNK2019: unresolved external symbol __imp__RegCreateKeyA@12 referenced in function "int __cdecl SWFF_WriteRegString(char const *,char const *)" (?SWFF_WriteRegString@@YAHPBD0@Z)
code.lib(dx8show.obj) : error LNK2019: unresolved external symbol __imp__CoCreateInstance@20 referenced in function "long __cdecl PlayMovieInWindow(struct HWND__ *,char *)" (?PlayMovieInWindow@@YAJPAUHWND__@@PAD@Z)
Dxerr8.lib(dxerr8.obj) : error LNK2019: unresolved external symbol __imp__MessageBoxW@16 referenced in function _DXTraceW@20
d3dx8.lib(cpudetect.obj) : error LNK2019: unresolved external symbol __imp__RegOpenKeyA@12 referenced in function "int __cdecl GetD3DRegValue(unsigned long,char *,void *,unsigned long)" (?GetD3DRegValue@@YAHKPADPAXK@Z)
Release/fs2_open_r.exe : fatal error LNK1120: 77 unresolved externals
Project : warning PRJ0018 : The following environment variables were not found:
$(FS2PATH)

Sorry about the multiple posts, but the character limit wouldn't allow any other way. Anyway, for now, sleep. Tomorrow, more experimentation.
« Last Edit: December 21, 2005, 04:27:05 pm by Shade »
Report FS_Open bugs with Mantis  |  Find the latest FS_Open builds Here  |  Interested in FRED? Check out the Wiki's FRED Portal | Diaspora: Website / Forums
"Oooooooooooooooooooooooooooooooooooooooh ****ing great. 2200 references to entry->index and no idea which is the one that ****ed up" - Karajorma
"We are all agreed that your theory is crazy. The question that divides us is whether it is crazy enough to have a chance of being correct." - Niels Bohr
<Cobra|> You play this mission too intelligently.

 

Offline WMCoolmon

  • Purveyor of space crack
  • 213
Re: Another free compiler alternative (with IDE)
Did you install the Platform SDK?
-C

 

Offline Goober5000

  • HLP Loremaster
  • Moderator
  • 214
    • Goober5000 Productions
Re: Another free compiler alternative (with IDE)
Make sure your directory list contains the dx8sdk include and lib directories.

 

Offline Shade

  • 211
Re: Another free compiler alternative (with IDE)
The platform SDK is definitely installed, but that doesn't exclude the possibility of me having messed something up when telling vc++ where to find it. As for the dx8sdk, pretty sure I got it set up properly. Straight from my options->projects & solutions->vc++ directories window:

Include files:

C:\Programming\Platform SDK\Include
C:\Programming\Microsoft DirectX 9.0 SDK\Include
C:\FreeSpace\Code\fs2_open\oggvorbis\include
C:\FreeSpace\Code\fs2_open\dx9sdk\Include
C:\FreeSpace\Code\fs2_open\dx8sdk\include
$(VCInstallDir)include
$(VCInstallDir)PlatformSDK\include
$(FrameworkSDKDir)include

Library files:

C:\Programming\Platform SDK\Lib
C:\Programming\Microsoft DirectX 9.0 SDK\Lib\x86
C:\FreeSpace\Code\fs2_open\oggvorbis\lib
C:\FreeSpace\Code\fs2_open\dx9sdk\Lib\x86
C:\FreeSpace\Code\fs2_open\dx8sdk\lib
$(VCInstallDir)lib
$(VCInstallDir)PlatformSDK\lib
$(FrameworkSDKDir)lib
$(VSInstallDir)
$(VSInstallDir)lib

Is there some other place I need to specify the paths besides there, or is there something missing that should be there? Also, could it perhaps be related to the warnings from the first 3 projects? 'vdsound.lib(DSOUND.dll) : warning LNK4221: no public symbols found; archive member will be inaccessible' and 'multi_oo.obj : warning LNK4221: no public symbols found; archive member will be inaccessible' certainly sound like they might be able to cause linker errors later on.

Either way, I appreciate the help :)

[Edit] Well, after a fair amount of googling and experiementing, I got the whoping total of 77 errors from before reduced to 31 by adding a dependancy for user32.lib to the freespace2 project. That eliminated all of the 'external symbol __imp__MessageBoxA@16' errors, to be precise. The others are being a bit more troublesome as I'm not really getting many search results for those errors, but I can only assume the fix lies down the same avenue of missing project dependencies. What I have at the moment are: Quartz.lib Dxerr8.lib d3d8.lib d3dx8.lib odbc32.lib user32.lib odbccp32.lib wsock32.lib winmm.lib vfw32.lib msacm32.lib comctl32.lib libjpeg.lib ogg_static.lib vorbis_static.lib vorbisfile_static.lib code.lib


I do notice a bunch looks opengl related though - Do I need another SDK for that?
« Last Edit: December 22, 2005, 01:42:56 pm by Shade »
Report FS_Open bugs with Mantis  |  Find the latest FS_Open builds Here  |  Interested in FRED? Check out the Wiki's FRED Portal | Diaspora: Website / Forums
"Oooooooooooooooooooooooooooooooooooooooh ****ing great. 2200 references to entry->index and no idea which is the one that ****ed up" - Karajorma
"We are all agreed that your theory is crazy. The question that divides us is whether it is crazy enough to have a chance of being correct." - Niels Bohr
<Cobra|> You play this mission too intelligently.

 

Offline ARSPR

  • Preys On Mantis
  • 29
Re: Another free compiler alternative (with IDE)
I'm trying to build my fs_open_r.exe with MSVC++ 6 but I'm having this errors and warnings:

...
scripting.cpp
WARNING: Lua is not compiled in
WARNING: Python is not compiled in
C:\WinCVS\fs2_open\code\parse\scripting.cpp(423) : error C2065: 'lua_pushcfunction' : undeclared identifier
C:\WinCVS\fs2_open\code\parse\scripting.cpp(423) : error C2065: 'lua_friendly_error' : undeclared identifier
C:\WinCVS\fs2_open\code\parse\scripting.cpp(425) : error C2065: 'luaL_loadbuffer' : undeclared identifier
C:\WinCVS\fs2_open\code\parse\scripting.cpp(427) : error C2065: 'lua_pcall' : undeclared identifier
C:\WinCVS\fs2_open\code\parse\scripting.cpp(433) : error C2065: 'lua_get_args' : undeclared identifier
C:\WinCVS\fs2_open\code\parse\scripting.cpp(433) : error C2065: 'script_lua_odata' : undeclared identifier
C:\WinCVS\fs2_open\code\parse\scripting.cpp(433) : error C2059: syntax error : ')'
...
...
speech.cpp
WARNING: You have not compiled speech into this build (use FS2_SPEECH)
voicerec.cpp
WARNING: You have not compiled voice recognition into this build (use FS2_VOICER)
...
...
iff_defs.cpp
Error executing cl.exe.

fs2_open_r.exe - 7 error(s), 4 warning(s)


I do know very few about coding, so I'm posting what I've done:

1. I've installed DirectX and Platform SDKs.
2. In VC++, I've set in Tools->Options->Directories, the INCLUDE and LIB ones for DirectX SDK, Platform SDK and dx8sdk, dx9sdk, lua, oggvorbis (their subdirectories I mean)
3. I've just updated CVS fs2_open
4. I've opened Freespace2.dsw in "fs2_open\projects\MSVC_6"
5. I've selected "Freespace2 - Win 32 Release" as Active Project Configuration in Build->Set Active Configuration
6. I've pressed build (F7)
7. And I get these errors and warnings but no fs2_open_r.exe at all

Can anyone help me?
IF YOU HAVE TROUBLES WITH FS2:
  • Please, please, please, READ and UNDERSTAND the sticky threads in FreeSpace & FreeSpace Open Support board.
    A lot of people are willing to help you, but, as anyone can understand, seeing the very same "issues" repeated again and again can become quite depressing. Please, spend a bit of time trying to solve the issue by yourself.
    (Lobo deserves a monument).
  • Then, if you aren't still able to solve your issue, feel free to ask for help in that same board.
    FYI, most of the troubles are caused by wrong mod installations which lead to either missing data or undesired cross-effects between them. Always follow the mod installation instructions and keep a clean FS2 installation as explained in the sticky threads. Two additional links about how the game handles game data:
  • If you think that you've discovered a bug, mantis it.
    Provide as much info as you can, and try to narrow it down. A lonely "FS2 doesn't work" is not a good report.

Whoever Hanlon was: Never attribute to malice that which can be adequately explained by stupidity.
Albert Einstein: Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe.

Dell Dimension 9200 - Vista 32-bit Ultimate
Core 2 Quad Q6600 @2.4GHz - RAM 2 GB DDR2
nvidia 8800 GTX - Integrated Sigmatel Audio

 

Offline Goober5000

  • HLP Loremaster
  • Moderator
  • 214
    • Goober5000 Productions
Re: Another free compiler alternative (with IDE)
You've done everything right.  Those scripting.cpp errors are just bugs with compiler directives that WMC needs to fix.  The warnings about speech are just to let you know that simulated speech support won't be in the game.