Code::Blocks Forums
User forums => Using Code::Blocks => Topic started by: Tjaalie on August 21, 2005, 10:37:13 am
-
Hello to all,
I just downloaded the source of the quake 3 engine, and when i inport
the visual studio solution quake3.sln it loads some projects from it and
then it just exists. Does anyone know what this is or does anyone
has the same problem???? is there an max project count or something
that is reached???
Tjaalie,
-
Oh no... sooner or later someone had to try it ... beware of the evil Quake 3 source code! :P
Importing of MS Visual Studio solutions is still imperfect. zieQ is working on it.
Another possible source for the problems is the code completion plugin, it tries to parse everything. (And don't even try to access the todo list or "find in files" with such a titanic project such as Quake 3!
But don't worry, we're working very hard to remove all the crashes. So far we've advanced a lot, But still, work needs to be done. We'll keep you posted.
-
Is there an other way to inport the projects???
I don't have visual studio but i would
still like to compile and use the engine.
-
Um... oh dear. HMmmmmmmmmmmmmmmmm
Well there MIGHT be a way... but it's LONG and EXHAUSTING.
Make the project yourself.
Add the files... etc.
Anyway try disabling code completion before importing the MSVS solution. So there are two possible outcomes:
a) You end up having a nice workspace (which you should save),
and b) Codeblocks crashes.
If b), please send us the codeblocks.rpt which is generated on every crash, it'll allow us to debug.
You might also want to consider compiling codeblocks itself... we've squashed quite a few bugs since RC1...
-
Thanx i will try that, if it doesn't work i will post here the debug file for you.
And im going to make my own build (always wanted that but i coudn't
find an excuse:D)
-
Well... A crash? Can you send the rpt file issued by the crash. I doubt it is the importer's fault but I could be wrong.
Rick, please note that I'm not actually working on the msvc importers, but I can help if something is wrong with them ;)
-
How im i suposed to send you the file if you hide your email adress???
Could you give it to me?? or send it to me @
CharlieGerhardus [here goes an "at" sign] hotmail [here should be a dot] com
(e-mail edited by rick)
-
You can attach files (convert it to txt) to your messages in additionnal options when you post a reply. You should avoid giving your email address you know :wink:
-
An easy way to import the Quake 3 .sln is to convert it to a .dsw using this: http://www.codeproject.com/tools/prjconverter.asp and then import that in Code::Blocks (I don't know why this works but it does).
-
Thanks, but it can't find the link.
But im going to do a google search.
-
Believe you have to do the free registration with codeproject to download.
http://www.codeproject.com/tools/prjconverter/prjconverter.zip
-
Tjaalie, can you please attach the rpt file that is in the C::B folder so that we could know where the bug come from and correct it?!
Thanks
-
I can duplicate the bug, but don't get a codeblocks.rpt file when it crashes (codeblocks rc1-1). I'll try to use the cvs version as well when it finishes compiling. It imports properly if the .sln is converted to .dsw using prjconverter.exe and then imported as a vc++ 6 workspace.
sln (right before crash):
(http://www.geocities.com/grv575/sln.jpg)
dsw:
(http://www.geocities.com/grv575/dsw.jpg)
-
Are you sure it's a crash? If no codeblocks.rpt is generated, perhaps it's an assert failure or something (I *hate* those, there's no stack to trace! :( )
-
Where is the download link for quake3 engine? I may have a look into the bug ;)
-
http://games.slashdot.org/article.pl?sid=05/08/20/1329236&from=rss
Good thing we didn't post about C::B on slashdot, or we'd get THOUSANDS of duplicate bug reports regarding Quake 3! :lol:
-
THere is a long way to go, before slashdot I think.
-
I have located the problem... An assert failed... from my code... not hard to track down Rick ;) (JIT debugger?)
I'm working on... but I don't know how to solve for now...
-
I found out how to solve the bug, but it will take some time to correct it!
-
Maybe i could help if you explain how does it work :) But in any case, a bug found is a bug to-be fixed! :)
-
As I said, I'm working on a patch... Just as side note about prjconverter: it does not convert dependencies nor build configurations properly. So, if you use it, you will not have some parts of quake3 projects to compile! That said, I'm going back developing the patch ;)
-
I just commited the fix in CVS HEAD, now Quake3 solution imports fine ;) The problem was about build configurations that were not handled properly.
-
Imports fine... and compiles fine?
-
Imports fine... and compiles fine?
I didn't try to compile yet :D ... I really wrote "imports fine" to mean no crash when loading and configurations read properly. If there's some compiler/linker options missing, please submit bug reports. I guess most of them are already in the importers, but I may have missed to implement some useful ones :oops: . Anyway, I have planned to rework the option conversion since I found out a useful piece of code somewhere :lol: .
-
Could you double-check the importing of the UI project?
Built splines, botlib, cgame, game, q3_ui, renderer, quake fine but ui...
it has all the source files there under properties->targets, but only two of them are checked for the Release build. Compiling like this gives unresolved link errors, but checking all the source files for the Release target (all except bg_lib.c and menudef.h) lets it compile and link ok. Wasn't able to figure out if this was an importing problem or not (maybe a dependency resolution problem? does the .deps handling check/uncheck these automatically once they are built by another project?)
The only difficult thing was that each project used it's own Release subdirectory, so that it was necessary to copy .lib files to the quake project dir to get it to build.
compiler settings (vc++ toolkit)
compiler
(http://www.geocities.com/grv575/q1.jpg)
linker
(http://www.geocities.com/grv575/q2.jpg)
resource compiler
(http://www.geocities.com/grv575/q3.jpg)
programs -> additional paths
(http://www.geocities.com/grv575/q4.jpg)
had to add these to quake project build options -> linker
(http://www.geocities.com/grv575/q5.jpg)
(msvs I think always links these by default)
then compile all the release builds, and do the quake one last (copy the libs it links to the toplevel Release directory first). then open a cmd prompt
path=%path%;C:\quake3-1.32b\code\win32\mod-sdk-setup\bin
run .bat files in code/game code/cgame code/q3_ui code/ui
(see readme about building qvm files)
you should now have quake.exe and c:\quake3 ...
you will need files from the cd (pk3 files) to get it to run :\
see: http://64.233.187.104/search?q=cache:YeM9ENl6FEQJ:www.linuxquestions.org/questions/showthread.php%3Fs%3D%26goto%3Dlastpost%26forumid%3D33+quake3+pk3+compile&hl=en&client=firefox-a
-
During import, there's some files removed from some projects according to the debug log, but since it's not my code, I didn't check if everything worked properly. I will check this ASAP but since I do not have DirectX SDK installed, I could not test anything. Anyway, thanks for the bug reporting ;)
The problem is related to projects imports (I fixed workspace imports only) and maybe to dependencies. Look in external dependencies fields and link libraries fields, some projects should depend on others, especially quake3 one IIRC.
-
I think that part is fine. The only thing that doesn't work is the UI project. Some sources are not checked in the Release target when they need to be (nothing to do with dependencies I don't think since the files are all .c source files, already built by the game project as well, but only output as .obj files...no .lib files built for this...q_shared.c, etc).
-
I do not have much time to investigate the problem this week, can someone try to find and fix it?
-
Humm, I'm doubtful about the problem. In q3_ui, some files are "ExcludedFromBuild" for some build configurations but not others. C::B seems to handle properly those "ExcludedFromBuild" files according to me. Maybe a compiler-specific problem?
Edit: no, I found out the problem. The importer do not handle the "PreprocessorDefinitions" field for each file/configuration
Edit2: big parts of msvc7loader.* need to be reworked to handle options properly!
-
I can import the projec with no problems, but it won't build. I followed the instructions earlier in this post and everything builds except for the quake3 project. I get the following linker errors. What am I doing wrong?
win_input.obj : error LNK2019: unresolved external symbol __imp__ShowCursor@4 referenced in function _IN_ActivateWin32Mouse
win_input.obj : error LNK2019: unresolved external symbol __imp__ClipCursor@4 referenced in function _IN_ActivateWin32Mouse
win_input.obj : error LNK2019: unresolved external symbol __imp__SetCapture@4 referenced in function _IN_ActivateWin32Mouse
win_input.obj : error LNK2019: unresolved external symbol __imp__SetCursorPos@8 referenced in function _IN_ActivateWin32Mouse
win_input.obj : error LNK2019: unresolved external symbol __imp__GetWindowRect@8 referenced in function _IN_ActivateWin32Mouse
win_input.obj : error LNK2019: unresolved external symbol __imp__GetSystemMetrics@4 referenced in function _IN_ActivateWin32Mouse
win_input.obj : error LNK2019: unresolved external symbol __imp__ReleaseCapture@0 referenced in function _IN_DeactivateWin32Mouse
win_input.obj : error LNK2019: unresolved external symbol __imp__GetCursorPos@4 referenced in function _IN_Win32Mouse
win_main.obj : error LNK2019: unresolved external symbol __imp__DispatchMessageA@4 referenced in function _Sys_Error
win_main.obj : error LNK2019: unresolved external symbol __imp__TranslateMessage@4 referenced in function _Sys_Error
win_main.obj : error LNK2019: unresolved external symbol __imp__GetMessageA@16 referenced in function _Sys_Error
win_main.obj : error LNK2019: unresolved external symbol __imp__CloseClipboard@0 referenced in function _Sys_GetClipboardData
win_main.obj : error LNK2019: unresolved external symbol __imp__GetClipboardData@4 referenced in function _Sys_GetClipboardData
win_main.obj : error LNK2019: unresolved external symbol __imp__OpenClipboard@4 referenced in function _Sys_GetClipboardData
win_main.obj : error LNK2019: unresolved external symbol __imp__MessageBoxExA@20 referenced in function _Sys_LoadDll
win_main.obj : error LNK2019: unresolved external symbol __imp__PeekMessageA@20 referenced in function _Sys_GetEvent
win_shared.obj : error LNK2019: unresolved external symbol __imp__GetUserNameA@8 referenced in function _Sys_GetCurrentUser
win_snd.obj : error LNK2019: unresolved external symbol __imp__CoUninitialize@0 referenced in function _SNDDMA_Shutdown
win_snd.obj : error LNK2019: unresolved external symbol __imp__CoCreateInstance@20 referenced in function _SNDDMA_InitDS
win_snd.obj : error LNK2019: unresolved external symbol __imp__CoInitialize@4 referenced in function _SNDDMA_Init
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SetFocus@4 referenced in function _InputLineWndProc@16
renderer.lib(win_glimp.obj) : error LNK2019: unresolved external symbol __imp__SetFocus@4 referenced in function _GLimp_SpawnRenderThread
win_syscon.obj : error LNK2019: unresolved external symbol __imp__CallWindowProcA@20 referenced in function _InputLineWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SetWindowTextA@8 referenced in function _InputLineWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__GetWindowTextA@12 referenced in function _InputLineWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__DestroyWindow@4 referenced in function _Sys_DestroyConsole
renderer.lib(win_glimp.obj) : error LNK2001: unresolved external symbol __imp__DestroyWindow@4
win_syscon.obj : error LNK2019: unresolved external symbol __imp__CloseWindow@4 referenced in function _Sys_DestroyConsole
win_syscon.obj : error LNK2019: unresolved external symbol __imp__ShowWindow@8 referenced in function _Sys_DestroyConsole
renderer.lib(win_glimp.obj) : error LNK2019: unresolved external symbol __imp__ShowWindow@8 referenced in function _GLW_ChoosePFD
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SendMessageA@16 referenced in function _Sys_ShowConsole
win_syscon.obj : error LNK2019: unresolved external symbol __imp__CreateWindowExA@48 referenced in function _Sys_SetErrorText
renderer.lib(win_glimp.obj) : error LNK2001: unresolved external symbol __imp__CreateWindowExA@48
win_syscon.obj : error LNK2019: unresolved external symbol __imp__UpdateWindow@4 referenced in function _ConWndProc@16
renderer.lib(win_glimp.obj) : error LNK2019: unresolved external symbol __imp__UpdateWindow@4 referenced in function _GLW_MakeContext
win_syscon.obj : error LNK2019: unresolved external symbol __imp__InvalidateRect@12 referenced in function _ConWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SetTextColor@8 referenced in function _ConWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SetBkColor@8 referenced in function _ConWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SetTimer@16 referenced in function _ConWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__CreateSolidBrush@4 referenced in function _ConWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__DefWindowProcA@16 referenced in function _ConWndProc@16
win_wndproc.obj : error LNK2001: unresolved external symbol __imp__DefWindowProcA@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__PostQuitMessage@4 referenced in function _ConWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SetForegroundWindow@4 referenced in function _Sys_CreateConsole
renderer.lib(win_glimp.obj) : error LNK2001: unresolved external symbol __imp__SetForegroundWindow@4
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SetWindowLongA@12 referenced in function _Sys_CreateConsole
win_syscon.obj : error LNK2019: unresolved external symbol __imp__CreateFontA@56 referenced in function _Sys_CreateConsole
win_syscon.obj : error LNK2019: unresolved external symbol __imp__ReleaseDC@8 referenced in function _Sys_CreateConsole
renderer.lib(win_glimp.obj) : error LNK2001: unresolved external symbol __imp__ReleaseDC@8
renderer.lib(win_gamma.obj) : error LNK2001: unresolved external symbol __imp__ReleaseDC@8
-
I can import the projec with no problems, but it won't build. I followed the instructions earlier in this post and everything builds except for the quake3 project. I get the following linker errors. What am I doing wrong?
Did you you follow the instructions that grv575, right?
Did you install all what it is needed for M$ Toolkit 2003?
Can you let know which libraries are you linking to? And other useful info as C::B version, includes file, and so on.
Michael
-
Ok, the first part was my idiocy!! I added the libs to the build options->linker like sugested, but I didn't have the quake3 project set as the active project! :lol: Sorry for that! Then I got this error
Execution of 'rem bash -c perl ./unix/cons -- release-TA' in 'C:\quake3-1.32b\code' failed.
so I just built the normal release build. Why is there anything about bash in a windows build script?
-=EDIT=-
I wrote a tutorial on how I got it to compile, it's in pdf for if anyone in interested you can drop me an email!
-
linker
(http://www.geocities.com/grv575/q2.jpg)
Sorry for the question, but in the linker directory you have put a path to Visual Studio .NET 2003\Vc7\lib. Is this absolutely necessary? I think of someone not having Visual Studio installed.
Michael
-
vc toolkit creates/uses that path as well
-
vc toolkit creates/uses that path as well
Ok, I understand :). Thank you for the explanation.
Michael