some files missed for compilation,

Posted by Aschman on Fri 25 Mar 2016 03:05 AM — 6 posts, 25,928 views.

#0
i got the latest source code from github, prepared the given folders as readme says:zlib, png, pcre, sqlite...

still found errors during compilation, at least 4 files are still missing:
scripting\lpeg.c
scripting\lpeg.h
pcre\pcre_info.c
pcre\pcre_try_flipped.c

i found the first 2 in MUSHClient 4.97 version, but the latter 2 files are not included in pcre 8.38(latest), should i use the exact version of 3rd-part moduler files? because readme suggests using pcre 8.37, i dont think 8.37 can provide the latter 2 files. so maybe the project files need to be fixed by removing the 2 c files.

and one file may be missing: dialogs\world_prefs\themeglue.h, i'm not sure whether it does matter.
Australia Forum Administrator #1
First, I suggest you compile version 5.01 and not the latest. I am experimenting with some things to do with timers, and the latest commit has introduced errors.

https://github.com/nickgammon/mushclient/releases/tag/v5.01




I can't see lpeg.c anywhere in my source tree. Nor can I see where the build file (MUSHclient.dsp) calls for it.

Can you clarify where those file are required?
Australia Forum Administrator #2
To assist you, these are the C, CPP, and H files I have in my build directory (and subdirectories)

H files



./activitychildfrm.h
./ActivityDoc.h
./ActivityView.h
./blending.h
./chatlistensock.h
./chatsock.h
./childfrm.h
./Color.h

./dialogs/AsciiArtDlg.h
./dialogs/chat/ChatCallDlg.h
./dialogs/chat/ChatDetailsDlg.h
./dialogs/chat/ChatListDlg.h
./dialogs/chat/ChatToAllDlg.h
./dialogs/chat/EmoteToAllDlg.h
./dialogs/ChooseNotepadDlg.h
./dialogs/cmdhist.h
./dialogs/ColourComboBox.h
./dialogs/ColourPickerDlg.h
./dialogs/CompleteWordDlg.h
./dialogs/ConfirmPreamble.h
./dialogs/CreditsDlg.h
./dialogs/DebugLuaDlg.h
./dialogs/DebugWorldInputDlg.h
./dialogs/EditDlg.h
./dialogs/EditMultiLine.h
./dialogs/FindDlg.h
./dialogs/FunctionListDlg.h
./dialogs/GeneratedNameDlg.h
./dialogs/GlobalChangeDlg.h

./dialogs/global_prefs/GlobalPrefs.h
./dialogs/global_prefs/GlobalPrefsSheet.h

./dialogs/GoToLineDlg.h
./dialogs/HighlightPhraseDlg.h
./dialogs/ImmediateDlg.h
./dialogs/ImportXMLdlg.h
./dialogs/InsertUnicodeDlg.h
./dialogs/KeyNameDlg.h
./dialogs/logdlg.h
./dialogs/LuaChooseBox.h
./dialogs/LuaChooseList.h
./dialogs/LuaChooseListMulti.h
./dialogs/LuaGsubDlg.h
./dialogs/LuaInputBox.h
./dialogs/LuaInputEditDlg.h
./dialogs/MapCommentDlg.h
./dialogs/MapDlg.h
./dialogs/MapMoveDlg.h
./dialogs/MultiLineTriggerDlg.h
./dialogs/MXPscriptRoutinesDlg.h
./dialogs/password.h
./dialogs/plugins/PluginsDlg.h
./dialogs/plugins/PluginWizard.h
./dialogs/plugins/PluginWizardSheet.h
./dialogs/ProgDlg.h
./dialogs/ProxyServerPasswordDlg.h
./dialogs/QuickConnectDlg.h
./dialogs/RecallDlg.h
./dialogs/RecallSearchDlg.h
./dialogs/RegexpProblemDlg.h
./dialogs/ScriptErrorDlg.h
./dialogs/SendToAllDlg.h
./dialogs/SpellCheckDlg.h
./dialogs/Splash.h
./dialogs/TextAttributesDlg.h
./dialogs/TipDlg.h
./dialogs/UniqueIDDlg.h
./dialogs/welcome.h
./dialogs/welcome1.h
./dialogs/WinsockInfoDlg.h

./dialogs/world_prefs/aliasdlg.h
./dialogs/world_prefs/ButtonColour.h
./dialogs/world_prefs/CommandOptionsDlg.h
./dialogs/world_prefs/editmac.h
./dialogs/world_prefs/EditVariable.h
./dialogs/world_prefs/GenPropertyPage.h
./dialogs/world_prefs/MissingEntryPoints.h
./dialogs/world_prefs/prefspropertypages.h
./dialogs/world_prefs/PrefsPropertySheet.h
./dialogs/world_prefs/TabDefaultsDlg.h
./dialogs/world_prefs/TimerDlg.h
./dialogs/world_prefs/TreePropertySheet.h
./dialogs/world_prefs/triggdlg.h

./Dmetaph.h
./doc.h
./exceptions.h
./flags.h
./forcelib.h
./format.h
./genprint.h
./hostsite.h
./HyprLink.h
./lauxlib.h
./lua.h

./luacom/LuaAux.h
./luacom/luabeans.h
./luacom/luacom.h
./luacom/LuaCompat.h
./luacom/luacom_internal.h
./luacom/tCOMUtil.h
./luacom/tLuaCOM.h
./luacom/tLuaCOMClassFactory.h
./luacom/tLuaCOMConnPoints.h
./luacom/tLuaCOMEnumerator.h
./luacom/tLuaCOMException.h
./luacom/tLuaCOMTypeHandler.h
./luacom/tLuaControl.h
./luacom/tLuaDispatch.h
./luacom/tLuaObject.h
./luacom/tLuaObjList.h
./luacom/tLuaTLB.h
./luacom/tLuaVector.h
./luacom/tStringBuffer.h
./luacom/tUtil.h

./luaconf.h
./lualib.h
./lua_helpers.h
./mainfrm.h
./MakeWindowTransparent.h
./mcdatetime.h
./MDITabs.h
./miniwindow.h
./MUSHclient.h
./mushview.h

./mxp/mxp.h

./MySplitterWnd.h
./MyStatusBar.h
./OtherTypes.h
./paneline.h

./pcre/config.h
./pcre/pcre.h
./pcre/pcre_internal.h
./pcre/ucp.h

./plugins.h

./png/png.h
./png/pngconf.h
./png/pngdebug.h
./png/pnginfo.h
./png/pnglibconf.h
./png/pngpriv.h
./png/pngstruct.h

./regexp.h
./resource.h

./scripting/bcconfig.h
./scripting/errors.h

./scripting/lpeg/lpcap.h
./scripting/lpeg/lpcode.h
./scripting/lpeg/lpprint.h
./scripting/lpeg/lptree.h
./scripting/lpeg/lptypes.h
./scripting/lpeg/lpvm.h

./scripting/md5.h
./scripting/number.h
./scripting/scripting.h
./scripting/sha256.h
./scripting/shs.h

./sendvw.h

./sqlite3/sqlite3.h
./sqlite3/sqlite3ext.h

./StatLink.h
./stdafx.h
./textchildfrm.h
./TextDocument.h
./TextView.h
./TimerWnd.h
./UDPsocket.h
./winplace.h
./worldsock.h

./xml/xmlparse.h

./zlib/crc32.h
./zlib/deflate.h
./zlib/gzguts.h
./zlib/inffast.h
./zlib/inffixed.h
./zlib/inflate.h
./zlib/inftrees.h
./zlib/trees.h
./zlib/zconf.h
./zlib/zlib.h
./zlib/zutil.h


C files



./lsqlite/lsqlite3.c

./luacom/LuaCompat.c

./pcre/pcre_chartables.c
./pcre/pcre_compile.c
./pcre/pcre_config.c
./pcre/pcre_dfa_exec.c
./pcre/pcre_exec.c
./pcre/pcre_fullinfo.c
./pcre/pcre_get.c
./pcre/pcre_globals.c
./pcre/pcre_maketables.c
./pcre/pcre_newline.c
./pcre/pcre_ord2utf8.c
./pcre/pcre_refcount.c
./pcre/pcre_study.c
./pcre/pcre_tables.c
./pcre/pcre_ucd.c
./pcre/pcre_valid_utf8.c
./pcre/pcre_version.c
./pcre/pcre_xclass.c

./png/png.c
./png/pngerror.c
./png/pngget.c
./png/pngmem.c
./png/pngpread.c
./png/pngread.c
./png/pngrio.c
./png/pngrtran.c
./png/pngrutil.c
./png/pngset.c
./png/pngtrans.c
./png/pngwio.c
./png/pngwrite.c
./png/pngwtran.c
./png/pngwutil.c

./scripting/bits.c
./scripting/lbc.c

./scripting/lpeg/lpcap.c
./scripting/lpeg/lpcode.c
./scripting/lpeg/lptree.c
./scripting/lpeg/lpvm.c

./scripting/lrexlib.c
./scripting/lua_compress.c
./scripting/md5.c
./scripting/mt19937ar.c
./scripting/number.c
./scripting/sha256.c
./scripting/shs.c

./sqlite3/sqlite3.c

./zlib/adler32.c
./zlib/compress.c
./zlib/crc32.c
./zlib/deflate.c
./zlib/gzclose.c
./zlib/gzlib.c
./zlib/gzread.c
./zlib/gzwrite.c
./zlib/inffast.c
./zlib/inflate.c
./zlib/inftrees.c
./zlib/trees.c
./zlib/uncompr.c
./zlib/zutil.c


CPP files



./accelerators.cpp
./activitychildfrm.cpp
./ActivityDoc.cpp
./ActivityView.cpp
./ansi.cpp
./art.cpp
./chatlistensock.cpp
./chatsock.cpp
./childfrm.cpp
./Color.cpp
./DDV_validation.cpp

./dialogs/AsciiArtDlg.cpp
./dialogs/chat/ChatCallDlg.cpp
./dialogs/chat/ChatDetailsDlg.cpp
./dialogs/chat/ChatListDlg.cpp
./dialogs/chat/ChatToAllDlg.cpp
./dialogs/chat/EmoteToAllDlg.cpp
./dialogs/ChooseNotepadDlg.cpp
./dialogs/cmdhist.cpp
./dialogs/ColourComboBox.cpp
./dialogs/ColourPickerDlg.cpp
./dialogs/CompleteWordDlg.cpp
./dialogs/ConfirmPreamble.cpp
./dialogs/CreditsDlg.cpp
./dialogs/DebugLuaDlg.cpp
./dialogs/DebugWorldInputDlg.cpp
./dialogs/EditDlg.cpp
./dialogs/EditMultiLine.cpp
./dialogs/FindDlg.cpp
./dialogs/FunctionListDlg.cpp
./dialogs/GeneratedNameDlg.cpp
./dialogs/GlobalChangeDlg.cpp

./dialogs/global_prefs/GlobalPrefs.cpp
./dialogs/global_prefs/GlobalPrefsSheet.cpp

./dialogs/GoToLineDlg.cpp
./dialogs/HighlightPhraseDlg.cpp
./dialogs/ImmediateDlg.cpp
./dialogs/ImportXMLdlg.cpp
./dialogs/InsertUnicodeDlg.cpp
./dialogs/KeyNameDlg.cpp
./dialogs/logdlg.cpp
./dialogs/LuaChooseBox.cpp
./dialogs/LuaChooseList.cpp
./dialogs/LuaChooseListMulti.cpp
./dialogs/LuaGsubDlg.cpp
./dialogs/LuaInputBox.cpp
./dialogs/LuaInputEditDlg.cpp
./dialogs/MapCommentDlg.cpp
./dialogs/MapDlg.cpp
./dialogs/MapMoveDlg.cpp
./dialogs/MultiLineTriggerDlg.cpp
./dialogs/MXPscriptRoutinesDlg.cpp
./dialogs/password.cpp
./dialogs/plugins/PluginsDlg.cpp
./dialogs/plugins/PluginWizard.cpp
./dialogs/plugins/PluginWizardSheet.cpp
./dialogs/ProgDlg.cpp
./dialogs/ProxyServerPasswordDlg.cpp
./dialogs/QuickConnectDlg.cpp
./dialogs/RecallDlg.cpp
./dialogs/RecallSearchDlg.cpp
./dialogs/RegexpProblemDlg.cpp
./dialogs/ScriptErrorDlg.cpp
./dialogs/SendToAllDlg.cpp
./dialogs/SpellCheckDlg.cpp
./dialogs/Splash.cpp
./dialogs/TextAttributesDlg.cpp
./dialogs/TipDlg.cpp
./dialogs/UniqueIDDlg.cpp
./dialogs/welcome.cpp
./dialogs/welcome1.cpp
./dialogs/WinsockInfoDlg.cpp

./dialogs/world_prefs/aliasdlg.cpp
./dialogs/world_prefs/ButtonColour.cpp
./dialogs/world_prefs/CommandOptionsDlg.cpp
./dialogs/world_prefs/configuration.cpp
./dialogs/world_prefs/editmac.cpp
./dialogs/world_prefs/EditVariable.cpp
./dialogs/world_prefs/genpropertypage.cpp
./dialogs/world_prefs/MissingEntryPoints.cpp
./dialogs/world_prefs/prefspropertypages.cpp
./dialogs/world_prefs/PrefsPropertySheet.cpp
./dialogs/world_prefs/TabDefaultsDlg.cpp
./dialogs/world_prefs/TimerDlg.cpp
./dialogs/world_prefs/TreePropertySheet.cpp
./dialogs/world_prefs/triggdlg.cpp

./Dmetaph.cpp
./doc.cpp
./doc_construct.cpp
./evaluate.cpp
./exceptions.cpp
./Finding.cpp
./format.cpp
./genprint.cpp
./globalregistryoptions.cpp
./HyprLink.cpp
./Line.cpp

./luacom/LuaAux.cpp
./luacom/luabeans.cpp
./luacom/luacom.cpp
./luacom/tCOMUtil.cpp
./luacom/tLuaCOM.cpp
./luacom/tLuaCOMClassFactory.cpp
./luacom/tLuaCOMConnPoints.cpp
./luacom/tLuaCOMEnumerator.cpp
./luacom/tLuaCOMException.cpp
./luacom/tLuaCOMTypeHandler.cpp
./luacom/tLuaControl.cpp
./luacom/tLuaDispatch.cpp
./luacom/tLuaObject.cpp
./luacom/tLuaObjList.cpp
./luacom/tLuaTLB.cpp
./luacom/tLuaVector.cpp
./luacom/tStringBuffer.cpp
./luacom/tUtil.cpp

./mainfrm.cpp
./MakeWindowTransparent.cpp
./Mapping.cpp
./mcdatetime.cpp
./MDITabs.cpp
./miniwindow.cpp
./MUSHclient.cpp
./mushview.cpp

./mxp/mxp.cpp
./mxp/mxpClose.cpp
./mxp/mxpCloseAtomic.cpp
./mxp/mxpDefs.cpp
./mxp/mxpEnd.cpp
./mxp/mxpEntities.cpp
./mxp/mxpError.cpp
./mxp/mxpinit.cpp
./mxp/mxpMode.cpp
./mxp/mxpOnOff.cpp
./mxp/mxpOpenAtomic.cpp
./mxp/mxpStart.cpp
./mxp/mxputils.cpp
./mxp/mxp_phases.cpp

./MySplitterWnd.cpp
./MyStatusBar.cpp
./NameGeneration.cpp
./paneline.cpp
./plugins.cpp
./ProcessPreviousLine.cpp
./regexp.cpp
./Replace.cpp

./scripting/functionlist.cpp
./scripting/lua_methods.cpp
./scripting/lua_progressdlg.cpp
./scripting/lua_scripting.cpp
./scripting/lua_utils.cpp

./scripting/methods/methods.cpp
./scripting/methods/methods_accelerators.cpp
./scripting/methods/methods_aliases.cpp
./scripting/methods/methods_arrays.cpp
./scripting/methods/methods_chat.cpp
./scripting/methods/methods_clipboard.cpp
./scripting/methods/methods_colours.cpp
./scripting/methods/methods_commands.cpp
./scripting/methods/methods_database.cpp
./scripting/methods/methods_defaults.cpp
./scripting/methods/methods_info.cpp
./scripting/methods/methods_infobar.cpp
./scripting/methods/methods_logging.cpp
./scripting/methods/methods_mapping.cpp
./scripting/methods/methods_miniwindows.cpp
./scripting/methods/methods_notepad.cpp
./scripting/methods/methods_noting.cpp
./scripting/methods/methods_output.cpp
./scripting/methods/methods_panes.cpp
./scripting/methods/methods_plugins.cpp
./scripting/methods/methods_sending.cpp
./scripting/methods/methods_sounds.cpp
./scripting/methods/methods_speedwalks.cpp
./scripting/methods/methods_spellchecker.cpp
./scripting/methods/methods_timers.cpp
./scripting/methods/methods_tracing.cpp
./scripting/methods/methods_triggers.cpp
./scripting/methods/methods_udp.cpp
./scripting/methods/methods_utilities.cpp
./scripting/methods/methods_variables.cpp
./scripting/methods/methods_worlds.cpp
./scripting/methods/methods_xml.cpp

./scripting/scriptengine.cpp
./scripting/scripting.cpp

./scriptingoptions.cpp
./sendvw.cpp
./serialize.cpp
./StatLink.cpp
./stdafx.cpp
./telnet_phases.cpp
./textchildfrm.cpp
./TextDocument.cpp
./TextView.cpp
./timers.cpp
./TimerWnd.cpp
./UDPsocket.cpp
./Utilities.cpp
./winplace.cpp
./worldsock.cpp
./world_debug.cpp

./xml/xmlparse.cpp
./xml/xml_load_world.cpp
./xml/xml_save_world.cpp
./xml/xml_serialize.cpp
Amended on Fri 25 Mar 2016 09:40 PM by Nick Gammon
USA Global Moderator #3
Aschman said:

still found errors during compilation, at least 4 files are still missing:
scripting\lpeg.c
scripting\lpeg.h
pcre\pcre_info.c
pcre\pcre_try_flipped.c


Nick doesn't yet use newer visual studio, so the project file you're using isn't quite the same as the one he uses (he uses the VC6 one right now).
Here's what I did when I built recently with Visual Studio 2015.

Remove these files from the project:
scripting\lpeg.c
zlib\minigzip.c
pcre\pcre_info.c
pcre\pcre_try_flipped.c

Then add the scripting\lpeg folder from the source directory to the project.

I also had to then go and edit the properties on all the .c files in scripting\lpeg\ to disable precompiled headers.
Amended on Sat 26 Mar 2016 12:06 AM by Fiendish
#4
Fiendish said:

Nick doesn\'t yet use newer visual studio, so the project file you\'re using isn\'t quite the same as the one he uses (he uses the VC6 one right now).
Here\'s what I did when I built recently with Visual Studio 2015.

Remove these files from the project:
scripting\lpeg.c
zlib\minigzip.c
pcre\pcre_info.c
pcre\pcre_try_flipped.c

Then add the scripting\lpeg folder from the source directory to the project.

I also had to then go and edit the properties on all the .c files in scripting\lpeg\ to disable precompiled headers.


I guess so, I use VS2015 Update 1.
In my first time, I add lpeg.c and lpeg.h from 4.97 version, and remove 2 pcre_ prefixed c files, finally I had to disable precompiled header in project global settings.
It does work without copy spell folders, otherwise it will crash during startup loading english-words.20 into sqlite database.

Anyway, thanks for Nick's great works. And I'll obey to Nick's guidance to compile 5.01.
Australia Forum Administrator #5
I pushed a fixup to 5.02, so the latest commit should be OK now.