VOGONS


First post, by Coderx

User metadata
Rank Newbie
Rank
Newbie

hello all recently i've been trying to create an application which would let TC run in any version of windows , and with DOSBox i made it 😀 .
after succeeding the first stage , im willing to change couple of things about DOSBox to make it more specific for what i have in mind . for that i downloaded the source code from svn :

http://source.dosbox.com/dosboxsvn.tgz

and followed the instruction provided here :

http://www.dosbox.com/wiki/Building_DOSBox_with_Visual_C_2008_Express 

when im in Debug Mode and try to compile it it get these errors :

Error	1	fatal error C1083: Cannot open source file: '..\src\misc\support.cpp': No such file or directory	c1xx	dosbox

Error 5 error BK1506 : cannot open file '.\Debug\support.sbr': No such file or directory BSCMAKE dosbox


(i checked and a support file is missing from the svn package! what should i do now?! )

when im in Release Mode , there are lots of linker errors ( although i configured the linker settings for release mode too! , i still get these errors:

Error	1	error LNK2001: unresolved external symbol "char * __cdecl upcase(char *)" (?upcase@@YAPADPAD@Z)	setup.obj	dosbox
Error 2 error LNK2001: unresolved external symbol "char * __cdecl upcase(char *)" (?upcase@@YAPADPAD@Z) drive_iso.obj dosbox
Error 3 error LNK2001: unresolved external symbol "char * __cdecl upcase(char *)" (?upcase@@YAPADPAD@Z) drive_local.obj dosbox
Error 4 error LNK2001: unresolved external symbol "char * __cdecl upcase(char *)" (?upcase@@YAPADPAD@Z) drives.obj dosbox
Error 5 error LNK2001: unresolved external symbol "char * __cdecl upcase(char *)" (?upcase@@YAPADPAD@Z) shell.obj dosbox
Error 6 error LNK2019: unresolved external symbol "char * __cdecl upcase(char *)" (?upcase@@YAPADPAD@Z) referenced in function "public: bool __thiscall CMscdex::GetDirectoryEntry(unsigned short,bool,unsigned long,unsigned long,unsigned short &)" (?GetDirectoryEntry@CMscdex@@QAE_NG_NKKAAG@Z) dos_mscdex.obj dosbox
Error 7 error LNK2001: unresolved external symbol "char * __cdecl upcase(char *)" (?upcase@@YAPADPAD@Z) dos_programs.obj dosbox
Error 8 error LNK2001: unresolved external symbol "char * __cdecl upcase(char *)" (?upcase@@YAPADPAD@Z) cdrom.obj dosbox
Error 9 error LNK2001: unresolved external symbol "char * __cdecl upcase(char *)" (?upcase@@YAPADPAD@Z) drive_cache.obj dosbox
Error 10 error LNK2019: unresolved external symbol "void __cdecl lowcase(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?lowcase@@YAXAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "public: virtual void __thiscall RESCAN::Run(void)" (?Run@RESCAN@@UAEXXZ) dos_programs.obj dosbox
Error 11 error LNK2001: unresolved external symbol "void __cdecl lowcase(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?lowcase@@YAXAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) setup.obj dosbox
Error 12 error LNK2019: unresolved external symbol "char * __cdecl lowcase(char *)" (?lowcase@@YAPADPAD@Z) referenced in function "struct _iobuf * __cdecl OpenCaptureFile(char const *,char const *)" (?OpenCaptureFile@@YAPAU_iobuf@@PBD0@Z) hardware.obj dosbox
Error 13 error LNK2001: unresolved external symbol "char * __cdecl lowcase(char *)" (?lowcase@@YAPADPAD@Z) sdlmain.obj dosbox
Error 14 error LNK2001: unresolved external symbol "char * __cdecl lowcase(char *)" (?lowcase@@YAPADPAD@Z) setup.obj dosbox
Error 15 error LNK2019: unresolved external symbol "void __cdecl upcase(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?upcase@@YAXAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "public: void __thiscall Property::Set_help(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?Set_help@Property@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) setup.obj dosbox
Error 16 fatal error LNK1120: 4 unresolved externals .\Release/dosbox.exe dosbox

im using Visual Studio 2008 ( not the express version ) .
would anyone please help me get rid of these errors ?

and one last question ? can i submit my application to the DOSBox team ? so that they can put it on the sites main Download page? ( the application is free , can since its all DOSBox , i thought it would be a good idea to have it there 😀 )
Thank you in advance

Reply 1 of 18, by bloodbat

User metadata
Rank Oldbie
Rank
Oldbie

Check if you're not leaving any libraries you don't have or need listed in "Additional dependencies" and the ones you do want listed and properly pointed in the directories (include and libraries) boxes. VC needs to be able to find them, and that guide doesn't mention that anywhere. Uncompressing them is not enough. You need to point the "include directories" to where the header files for the external deps (such as sdl) are and the "library directories" to where compiled libraries for those reside.
After verifying that, you might run into another error: '"MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library', I recall it's SDL's fault so you need to also set it to ignore default library msvcrt.lib somewhere in linker. (I'm using 2010, so it's not the same position for everything, exactly).

Reply 2 of 18, by Coderx

User metadata
Rank Newbie
Rank
Newbie

thanks for the quick reply 😀
i have already covered those dependencies and include ,lib folders . still experiencing problems ! .
would you explain more on MSVCRT ? i have no idea where im supposed to go ? !
by the way where can i find the support.cpp file ? its not anywhere in the svn package !?

Reply 3 of 18, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

support.cpp is not missing from the archive.
maybe you deleted it yourself ?

Water flows down the stream
How to ask questions the smart way!

Reply 4 of 18, by Coderx

User metadata
Rank Newbie
Rank
Newbie

no , i redownloaded the svn , and took a screen shot , there is no support.cpp inside the misc folder !
you can see it yourself

Reply 5 of 18, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

weird
Just downloaded it myself and it is there:

Water flows down the stream
How to ask questions the smart way!

Reply 6 of 18, by Coderx

User metadata
Rank Newbie
Rank
Newbie

how is this even possible ?
could it be that different packages are provided for different regions of the world ? i mean if thats the case , maybe that explains it why ,!!
i just tried downloading the svn again from here: http://source.dosbox.com/dosboxsvn.tgz
and again there is no support.cpp in misc !
and by the way , the dates on my package is different than yours ! see the picture and compare the dates with your own !
how am i supposed to download the right package!?
what should i do now ?

Reply 7 of 18, by telanus

User metadata
Rank Newbie
Rank
Newbie

Coderx, using your link I've downloded the zip file and support.cpp is there

clipboard02kb.jpg

Reply 8 of 18, by Coderx

User metadata
Rank Newbie
Rank
Newbie

then why cant i download the right package!! im from IRAN!! where are you guys from?

Reply 10 of 18, by bloodbat

User metadata
Rank Oldbie
Rank
Oldbie

I downloaded from your link and opened with winrar...the file IS there. Maybe download and decompress again?

Reply 12 of 18, by bloodbat

User metadata
Rank Oldbie
Rank
Oldbie

I meant that for Coderx, maybe something got screwed while decompressing.

Reply 13 of 18, by Coderx

User metadata
Rank Newbie
Rank
Newbie

Thank you guys . Dominus was right , i used 7zip and opened the package , and there it was (o_O) .
now the application compiles just fine under Debug mode , but i get those linker problems in Release mode !
these are my linker settings for release mode :

opengl32.lib
winmm.lib
sdlmain.lib
sdl.lib
odbc32.lib
odbccp32.lib
ws2_32.lib

------------
and the Inherited section :

kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib

its just like the Debug mode ! but release just wont work!! (>_<)

Reply 14 of 18, by bloodbat

User metadata
Rank Oldbie
Rank
Oldbie

You have to set everything up for both release and debug modes...in my experience, what you set for debug won't stick for release and visceversa, so check again for dependencies paths and such. It's not so much about the list (which seems to be right) but about the paths themselves.

Reply 15 of 18, by Coderx

User metadata
Rank Newbie
Rank
Newbie

ok thank to GOD i found it out 😀
i had to set the additional library directories under Linkers General Tab in Projects properties 😀 , i gave it the folder which contained sdl's lib and it just compiled fine 😀
thank you all specially you bloodbat:)

Reply 16 of 18, by Coderx

User metadata
Rank Newbie
Rank
Newbie

i finally made my application 😀
i changed DOSBox to suite my needs , but i left the copy rights , both in my application , and inside dos box ( for example when some one goes for versioning info )
here is the link :
i would be very thank ful if you try it and if there is anything wrong with the copyright stuff ,tell me to fix it , this is my first try .
please tell me your suggestions 😀
http://ustmb.ir/Projects/TurboC_Fixer_Installer.exe

Reply 17 of 18, by mhsnrah

User metadata
Rank Newbie
Rank
Newbie
Coderx wrote:
------------ and the Inherited section : […]
Show full quote
opengl32.lib
winmm.lib
sdlmain.lib
sdl.lib
odbc32.lib
odbccp32.lib
ws2_32.lib

------------
and the Inherited section :

kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib

would somebody please tell me where can i download these files?
regards

Reply 18 of 18, by Coderx

User metadata
Rank Newbie
Rank
Newbie

Salaam,
They are already present in your windows. so there is no need for downloading them, just write their names, visual studio knows where to get them.
You only need to download and specify the sdl directory which contains the required lib files.
hope this helps
bye