Thank you both very much - this now seems to work in Visual Studio. I have yet to have time to test it in Linux - I will report back in due course on that.
Edit: This also seems to work - in principle at least - in Linux: thank you again both for your help.
However, I am not able to make it work properly in Linux due to two other issues, one of which is extremely baffling. The way that I have had the server set up is that I simply created a directory for the game, pulled from Github, compiled Simutrans, did the same for the pakset in a suitable subirectory, and ran it from there.
This simple arrangement works well enough in itself, but I need to alter simuconf.tab from the one on Github. This means that, now, whenever I pull from Github, it merges into a new commit and the commit number on the server is therefore not the same as for the release.
I had hoped to get around this by using the separate directories that I had set up for the nightly build to build the executable, and instead of having the actual executable in the running directory, just have a symbolic link to the executable in the nightly build directory. This would then be at the default commit number and thus should not cause problems with merging. I have used a similar system successfully for the paksets: the pakset used by the Bridgewater-Brunel server is now the identical one to that offered as the nightly download, just symbolically linked to the relevant directory.
However, I have had a bizarre problem in building the server executable from the nightly directory: it refuses to build a command line version even when explicitly instructed to do so in the configuration file. I created a new copy of config.default called config.server, and created a /server subdirectory in the ~/build directory. When I run env CFG=server make -j5, it indeed builds a separate copy of simutrans-experimental in the /server subdirectory, but, when I try to run it with no options, it complains of there being no GUI themes, indicating that this is a graphical build. When I try to run a version built as a command line build, it complains instead about a modal dialogue unless it is given command line switches indicating the pakset and a saved game to load.
For reference, my config.server file is as follows:
#
# to compile:
# copy this file to config.default and adjust the settings
#
#BACKEND = allegro
#BACKEND = gdi
#BACKEND = opengl
#BACKEND = sdl
#BACKEND = sdl2
#BACKEND = mixer_sdl
BACKEND = posix
COLOUR_DEPTH = 0
#COLOUR_DEPTH = 16
#OSTYPE = amiga
#OSTYPE = beos
#OSTYPE = cygwin
#OSTYPE = freebsd
#OSTYPE = haiku
OSTYPE = linux
#OSTYPE = mingw
#OSTYPE = mac
#DEBUG = 3 # Level 1-3, higher number means more debug-friendly, see Makefile
OPTIMISE = 3 # Add umpteen optimisation flags
#PROFILE = 1 # Enable profiling
#PROFILE = 2 # Enable profiling with optimisation flags, can be used with `OPTIMISE = 1'
WITH_REVISION = 1 # adds the revision from svn; required for networkgames
# if you do not use SVN, add -DREVISION="1234" to the FLAGS below
#WIN32_CONSOLE = 1 # adds a console for windows debugging
MULTI_THREAD = 1 # Enable multithreading
# Define these as empty strings, if you don't have the respective config program
#ALLEGRO_CONFIG = allegro-config
#PNG_CONFIG = pkg-config libpng
#SDL_CONFIG = sdl-config
#SDL2_CONFIG = sdl2-config
#VERBOSE = 1
# The following useful conditional compilation flags exist
#
# Needed to compile:
# USE_C: no assembler for copying (required for not using GCC on x86)
# SIM_BIG_ENDIAN: MUST be set for PPC/Motorola byte order! (old mac, amiga)
# NO_INTPTR_T: must be set if intptr_t is not available
#
# Changing appearance:
# USE_SOFTPOINTER: emulate mouse pointer (set automatically in Makefile)
#
# Useful for debugging:
# DEBUG_ROUTES: show routing calculation information in minimap
# SHOW_FORE_GRUND: show which objects are drawn as foreground
# DEBUG_FLUSH_BUFFER: show the dirty areas on the screen
# USE_VALGRIND_MEMCHECK: make valgrind-memcheck aware of the memory allocation stuff in dataobj/freelist
# SYSLOG: send debug output to syslog
#
# Following flags alter game engine (and are off for standard builds)
# OTTD_LIKE: Enables half height tiles and crossconnects all industries
# AUTOMATIC_BRIDGES and AUTOMATIC_TUNNELS: will be built also for player
# AUTOJOIN_PUBLIC: stations next to a public stop will be joined to it
# USE_DIFFERENT_WIND: different airplane approach directions over the map
# DESTINATION_CITYCARS: Citycars can have a destination (enabled automatically - cannot be disabled)
#
# In order to use the flags, add a line like this: (-Dxxx)
# FLAGS = -DUSE_C
# Output directories:
#
# use this put objects file in same directory, where the sources are (not recommended):
# ... otherwise defaults to 'build/default')
#
# BUILDDIR = build/command-line-server
#
# use this to specifiy the target directory for the executable:
# .. otherwise defaults to BUILDDIR
#
# MAKEOBJ_PROGDIR = $(shell pwd)
# NETTOOL_PROGDIR = $(shell pwd)
# PROGDIR = $(shell pwd)
FLAGS = -DNDEBUG -DSYSLOG -fno-delete-null-pointer-checks -fno-strict-aliasing -std=c++11
If anyone has any ideas as to what is wrong, I should be most grateful. Thank you both again very much for your help so far: it is greatly appreciated.