[Home] [Downloads] [Search] [Help/forum]

Gammon Forum

See www.mushclient.com/spam for dealing with forum spam. Please read the MUSHclient FAQ!

[Folder]  Entire forum
-> [Folder]  MUSHclient
. -> [Folder]  Development
. . -> [Subject]  Compiling mushclient from source.
Home  |  Users  |  Search  |  FAQ
Username:
Register forum user name
Password:
Forgotten password?

Compiling mushclient from source.

It is now over 60 days since the last post. This thread is closed.     [Refresh] Refresh page


Pages: 1  2  3 4  

Posted by Twisol   USA  (2,257 posts)  [Biography] bio
Date Reply #30 on Mon 27 Jul 2009 06:57 AM (UTC)
Message
GlobalConfigurationDlg.h for IDD_SELECT_GLOBAL_CONFIGURATION, and its .cpp for IDD_NEW.

'Soludra' on Achaea

Blog: http://jonathan.com/
GitHub: http://github.com/Twisol
[Go to top] top

Posted by Nick Gammon   Australia  (21,324 posts)  [Biography] bio   Forum Administrator
Date Reply #31 on Mon 27 Jul 2009 07:55 AM (UTC)
Message
Remove GlobalConfigurationDlg.cpp from the project.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Twisol   USA  (2,257 posts)  [Biography] bio
Date Reply #32 on Mon 27 Jul 2009 08:28 AM (UTC)
Message
That worked. I just dumped all the source files in the .zip into the project, heh.

Down to 8 errors and 118 warnings so far!

'Soludra' on Achaea

Blog: http://jonathan.com/
GitHub: http://github.com/Twisol
[Go to top] top

Posted by Twisol   USA  (2,257 posts)  [Biography] bio
Date Reply #33 on Mon 27 Jul 2009 09:24 PM (UTC)
Message
I'm getting some unresolved external errors from the linker, now . The unresolved identifiers are:


inflateInit
inflate
inflateEnd
inflateReset
deflateInit
deflateInit2_
deflate
deflateEnd
deflateReset
DirectSoundCreate
crc32

xGetMonitorInfo
xMonitorFromRect

CGlobalChangeDlg::CGlobalChangeDlg(class CWnd *)


The first set seem to be macros defined in zconf.h. The second set I can't find anywhere. And the last one I'm not sure about either.

'Soludra' on Achaea

Blog: http://jonathan.com/
GitHub: http://github.com/Twisol
[Go to top] top

Posted by Nick Gammon   Australia  (21,324 posts)  [Biography] bio   Forum Administrator
Date Reply #34 on Mon 27 Jul 2009 10:21 PM (UTC)

Amended on Mon 27 Jul 2009 10:22 PM (UTC) by Nick Gammon

Message
I mentioned zlib.zip on the first page of this thread. From that directory, you need to add the following files into the project (without using precompiled headers):


  • adler32.c
  • compress.c
  • crc32.c
  • deflate.c
  • gzio.c
  • infblock.c
  • infcodes.c
  • inffast.c
  • inflate.c
  • inftrees.c
  • infutil.c
  • minigzip.c
  • trees.c
  • uncompr.c
  • zutil.c


Quote:

DirectSoundCreate


Add dsound.lib into the libraries used by the project.

Quote:

xGetMonitorInfo
xMonitorFromRect


Can't find any references to those - what is the module that calls them?

Quote:

CGlobalChangeDlg::CGlobalChangeDlg(class CWnd *)


That constructor should be in GlobalChangeDlg.cpp - is that in the project?

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Nick Gammon   Australia  (21,324 posts)  [Biography] bio   Forum Administrator
Date Reply #35 on Mon 27 Jul 2009 10:24 PM (UTC)
Message
Quote:

xGetMonitorInfo
xMonitorFromRect


Try a Google on those two. They seem to be in multimon.h.

The code I saw on the Google search seemed to match what I have here (they are in the MFC files).

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Twisol   USA  (2,257 posts)  [Biography] bio
Date Reply #36 on Tue 28 Jul 2009 12:32 AM (UTC)
Message
GlobalChangeDlg.cpp was somehow left out; including that fixed it.

I added the zlib files and that cleared up the zlib linker errors.

The multimon functions were fixed by replacing #include <MULTIMON.H> in winplace.cpp with #include <windows.h>, the standard (~_^) Windows inclusion header.

Now it compiles and links! When it runs, though, it crashes because it can't find mushclient\debug\locale\EN.dll. :P

'Soludra' on Achaea

Blog: http://jonathan.com/
GitHub: http://github.com/Twisol
[Go to top] top

Posted by Nick Gammon   Australia  (21,324 posts)  [Biography] bio   Forum Administrator
Date Reply #37 on Tue 28 Jul 2009 02:57 AM (UTC)
Message
See my steps on page 1 of this thread. I talk about fixing that.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Twisol   USA  (2,257 posts)  [Biography] bio
Date Reply #38 on Tue 28 Jul 2009 07:34 AM (UTC)

Amended on Tue 28 Jul 2009 07:39 AM (UTC) by Twisol

Message
Wow - it works! :D Here's what I did, apart from errors and things you already mentioned, to get it to work:

* Install DirectX SDK (used March 2009 version)
** Add DirectX paths to Visual Studio's directories lists
* Add build options: /D "LUA51" /D "_CRT_SECURE_NO_WARNINGS"
* Add custom build option: /D "_USING_MFC8" -- see error in forcelib.h.


Here's the list of errors I had to change if you want to merge them with the current code.


==configuration.cpp==
-Line 80, missing return value.
    Add 'void' to function header.

==Utilities.cpp==
-Line 1202, redefinition of default second parameter (bSigned) in IsStringNumber.
    Remove '=false' from the function header

==methods.cpp==
-Line 12054, undeclared identifier DSBCAPS_CTRLDEFAULT.
    This flag is no longer supported directly.
    Replace with (DSBCAPS_CTRLPAN | DSBCAPS_CTRLVOLUME | DSBCAPS_CTRLFREQUENCY).

==MUSHclient.cpp==
-Linker error with lua5.1.dll
    Comment out the #pragma comment(linker, *) directive.

==forcelib.h==
-Linker error with mfc42d.lib
    VS2005 uses a newer version of MFC.
    Add an #ifdef branch controlled by _USING_MFC8 (custom identifier):

#ifndef _AFXDLL // this was already here
  // stuff you already have goes here
#else // this was already here
	#ifdef _USING_MFC8
		#ifndef _UNICODE
			#ifdef _DEBUG
				#pragma comment(lib, "mfc80d.lib")
				#pragma comment(lib, "mfcs80d.lib")
			#else
				#pragma comment(lib, "mfc80.lib")
				#pragma comment(lib, "mfcs80.lib")
			#endif
		#else
			#ifdef _DEBUG
				#pragma comment(lib, "mfc80ud.lib")
				#pragma comment(lib, "mfcs80ud.lib")
			#else
				#pragma comment(lib, "mfc80u.lib")
				#pragma comment(lib, "mfcs80u.lib")
			#endif
		#endif
	#else
	  // stuff you already have goes here
	#endif
#endif // this was already here



There's also a whole load of warnings that I'm clearing up, mostly type conversions, but they don't really affect the build.

'Soludra' on Achaea

Blog: http://jonathan.com/
GitHub: http://github.com/Twisol
[Go to top] top

Posted by Gwen   (2 posts)  [Biography] bio
Date Reply #39 on Sun 01 Nov 2009 01:06 AM (UTC)
Message
Hello.

I've gotten MUSHclient to compile and link successfully, but I can't run it. I've read this thread and I need the locale directory. The problem is I don't seem to have that directory.
[Go to top] top

Posted by Nick Gammon   Australia  (21,324 posts)  [Biography] bio   Forum Administrator
Date Reply #40 on Sun 01 Nov 2009 01:49 AM (UTC)
Message
The locale directory is part of the standard MUSHclient distribution. It changes infrequently, so a copy from any recent download would do. Basically it has the resource file in it (which has dialog boxes, menus, etc.).

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Nick Gammon   Australia  (21,324 posts)  [Biography] bio   Forum Administrator
Date Reply #41 on Sun 01 Nov 2009 01:54 AM (UTC)
Message
See my post on page 1 of this thread, where I say "In order to *run* it you need a couple of other files ...".

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Gwen   (2 posts)  [Biography] bio
Date Reply #42 on Sun 01 Nov 2009 08:49 PM (UTC)
Message
I see. It is running now. Thanks. :)
[Go to top] top

Posted by Kobold   (5 posts)  [Biography] bio
Date Reply #43 on Fri 13 Nov 2009 09:47 AM (UTC)

Amended on Fri 13 Nov 2009 09:48 AM (UTC) by Kobold

Message
For anyone compiling it under VS 2008 or anything that likes to add UAC manifests to the resultant binaries, be sure to take off that option in the Project Configuration. Manifest resource == No compatibility VirtualStore created for MUSHClient == Epic MUSHClient fail (when placed in Program Files).
[Go to top] top

Posted by Twisol   USA  (2,257 posts)  [Biography] bio
Date Reply #44 on Thu 07 Jan 2010 06:41 AM (UTC)

Amended on Thu 07 Jan 2010 07:21 AM (UTC) by Twisol

Message
Under the latest version of the source released (v4.45), I am getting this error 16 times, stating that LINK_SIZE must be 2, 3, or 4. I can't find any references to LINK_SIZE at all in the project source, nor in the project file.

mushclient\pcre_internal.h(368) : fatal error C1189: #error :  LINK_SIZE must be either 2, 3, or 4


I also get this error from the make process:

BSCMAKE: error BK1506 : cannot open file '.\WinDebug\ActivityDoc.sbr': No such file or directory


I'm not sure what to make of either error.

EDIT: It seems that the second error only comes up in debug mode, and apparently .sbr files contain debug info... All of the non-MUSHclient sources (png, sqlite, md5, etc) create them properly, but the build aborts once it tries to build ActivityDoc's .sbr file.

EDIT 2: If I toggle the switch from /Fr to /FR (noting, by the way, that the former is deprecated in VS2005), it gets much further... then has the same error, but on shs.sbr instead.

'Soludra' on Achaea

Blog: http://jonathan.com/
GitHub: http://github.com/Twisol
[Go to top] top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


40,125 views.

This is page 3, subject is 4 pages long:  [Previous page]  1  2  3 4  [Next page]

It is now over 60 days since the last post. This thread is closed.     [Refresh] Refresh page

Go to topic:           Search the forum


[Go to top] top

Quick links: MUSHclient. MUSHclient help. Forum shortcuts. Posting templates. Lua modules. Lua documentation.

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.

[Home]


Written by Nick Gammon - 5K   profile for Nick Gammon on Stack Exchange, a network of free, community-driven Q&A sites   Marriage equality

Comments to: Gammon Software support
[RH click to get RSS URL] Forum RSS feed ( https://gammon.com.au/rss/forum.xml )

[Best viewed with any browser - 2K]    [Hosted at FutureQuest]