Я намерен распространять программу F # как двоичную, так и исходную, поэтому у пользователя есть возможность перекомпилировать ее, если это необходимо. В Windows я понимаю, как это сделать: предоставить файлы .fsproj и .sln, которые могут понять как Visual Studio, так и MSBuild.F #, Linux и make-файлы
В Linux традиционное решение для программ на C - это make-файл. Это зависит от того, что gcc доступен напрямую, и это всегда так.
Компилятор F # может быть установлен на Linux и работает под управлением Mono, так что пока все в порядке. Однако, насколько я могу судить, он не создает сценарий, где fsc
запускает компилятор, вместо этого команда mono ...path.../fsc.exe
. Это тоже прекрасно, за исключением того, что я не знаю, каким будет путь. Таким образом, полная команда запуска компилятора в моем случае может быть mono ~/FSharp-2.0.0.0/bin/fsc.exe types.fs tptp.fs main.fs -r FSharp.PowerPack.dll
, за исключением того, что я не уверен, где fsc.exe будет фактически находиться на машине пользователя.
Есть ли способ найти это в файле makefile, или было бы лучше вернуться к объяснению вышеизложенного в документации и полагаться на пользователя, чтобы изменить команду в соответствии с его настройкой?
Aaaand поэтому .NET и кросс-платформенный не смешиваются. – LukeN
Какой стек технологии, по вашему мнению, лучше подходит? Или вы выступаете за возвращение к C даже для проектов, для которых это явно неприемлемый язык? – rwallace
Если вы хотите разрешить перекомпилировать пользователей, можно ли предположить, что они достаточно технические, чтобы правильно заполнить путь для их собственной установки? – kvb