Sorry for these newbi questions but help would be appreciated.
We are a group of novices that are working on an old game code, and have been using VS6 VC6++.
We have no problems modifying the code and compiling it under VS6.
Windows XP environment.
The task was to use C::B as the IDE rather than the poorer VS6 IDE and see if we could work under this better environment.
We ripped out the ALT, Bin, Lib, MFC, Include folders from the VC6++ and inserted them into a desktop folder called "CodeBlocks".
We also included a relevant folder for the combined files for the SDK2005, SmackerSDK, GlideSDK, DX6SDK(yes it is very old code and required this).
We also brought across the game source code in its own folder into the "CodeBlocks" desktop folder.
The reason this was done, is that the project is a bit complex and we hoped to be able to just zip up a pre-configured "CodeBlocks" folder, and distribute it to the others (Yes the blind is leading the blind in this case). This should save me the massive problems I have been having getting people set up to work with the code at the present.
Questions:
1) Is it acceptable to specify paths for libraries etc in the form of ".\VC6plusLIBRARIES\Lib" rather than the full C:\Documents and Settings\user\Desktop\CodeBlocks\VC6plusLIBRARIES\Lib"
I am trying to make things as generic as I can without having to introduce full paths or environment variables.
2) I can compile the *.c files and the *.cpp files, but I see no way to integrate the "ML" assembler in the compile process. The configuration is just ignoring the *.asm files in the compile phase.
cl.exe /nologo /W3 /GX /O2 /DWIN32 /DNDEBUG /D_WINDOWS /YX /G5 /Zp1 /MT /Zi /Ot /Oi /Oy /Ob2 /DGLIDE3_ALPHA /D_WIN32 /DWIN95 /D__MSC__ /FR /FD /MT /G5 /GX /Ot /W1 /I"C:\Documents and Settings\user\Desktop\CodeBlocks\VC6plusLIBRARIES\EAW 2005 DX6 SDK" /I"C:\Documents and Settings\user\Desktop\CodeBlocks\VC6plusLIBRARIES\Include" /I"C:\Documents and Settings\user\Desktop\CodeBlocks\VC6plusLIBRARIES\MFC\Include" /I"C:\Documents and Settings\user\Desktop\CodeBlocks\VC6plusLIBRARIES\ATL\Include" /c sim_misc.asm /Fo.\Release4\sim_misc.obj
Command line warning D4025 : overriding '/W3' with '/W1'
Command line warning D4021 : no action performed
Command line warning D4024 : unrecognized source file type 'sim_misc.asm', object file assumed
Command line warning D4027 : source file 'sim_misc.asm' ignored
Is there some solution, or do I have to preload the assembled object files for these *.asm files.
3)The object files for the compiled files are directed to the ".\Release4" folder and do arrive there with no problem.BUT...the linking does not find this folder when it tries to do its part.
LINK:: fatal error LNK1181: cannot open input file ".\Release4\clipline.obj"
Is there any way to fix this or do I have to specify the full path?
Any help would be greatly appreciated :)
Regards sydbod
Still work-in-progress but have a look at this (http://wiki.codeblocks.org/index.php?title=Adding_support_for_non_C/C%2B%2B_files_to_the_build_system).
Thanks for that link.
I think I can work with that. I was almost thinking I would have to add in the *.asm obj files to the others before the Link process.
This is what was originally done with the *.asm files, But I see no reason why I can not just simplify the whole code base as the others are just scratching around with the release compile version of the code and making some small modifications.
EG:
# Begin Source File
SOURCE=.\xyangle.asm
!IF "$(CFG)" == "Game Code - Win32 Release"
# Begin Custom Build - MASM Release
OutDir=.\Release4
InputPath=.\xyangle.asm
InputName=xyangle
"$(OutDir)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
ml.exe /c /Cp /coff /nologo /Fo$(OutDir)\$(InputName).obj $(InputPath)
# End Custom Build
!ELSEIF "$(CFG)" == "Game Code - Win32 Debug"
# Begin Custom Build
OutDir=.\Debug4
InputPath=.\xyangle.asm
InputName=xyangle
"$(OutDir)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
ml /c /Cp /coff /nologo /FR /Zi /Fo$(OutDir)\$(InputName).obj $(InputPath)
# End Custom Build
!ELSEIF "$(CFG)" == "Game Code - Win32 Demo Release"
# Begin Custom Build - MASM Release
OutDir=.\Demo4
InputPath=.\xyangle.asm
InputName=xyangle
"$(OutDir)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
ml.exe /c /Cp /coff /nologo /Fo$(OutDir)\$(InputName).obj $(InputPath)
# End Custom Build
!ELSEIF "$(CFG)" == "Game Code - Win32 Demo German Release"
# Begin Custom Build - MASM Release
OutDir=.\Demo4G
InputPath=.\xyangle.asm
InputName=xyangle
"$(OutDir)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
ml.exe /c /Cp /coff /nologo /Fo$(OutDir)\$(InputName).obj $(InputPath)
# End Custom Build
!ELSEIF "$(CFG)" == "Game Code - Win32 German Master Debug"
# Begin Custom Build
OutDir=.\Game_Cod
InputPath=.\xyangle.asm
InputName=xyangle
"$(OutDir)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
ml /c /Cp /coff /nologo /FR /Zi /Fo$(OutDir)\$(InputName).obj $(InputPath)
# End Custom Build
!ELSEIF "$(CFG)" == "Game Code - Win32 German Master Release"
# Begin Custom Build - MASM Release
OutDir=.\Game_Co0
InputPath=.\xyangle.asm
InputName=xyangle
"$(OutDir)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
ml.exe /c /Cp /coff /nologo /Fo$(OutDir)\$(InputName).obj $(InputPath)
# End Custom Build
!ENDIF
# End Source File
Thanks for all you help.