Недавно я узнал о Premake и решил проверить его.
Кажется, что он отлично работает с проектами на C++, но по какой-то причине, когда он сталкивается с программой на C#, он переливается.
Возьмите этот пример Premake скрипт:Premake не создает Makefile для библиотеки C#
solution "ExampleLib"
configurations { "Debug", "Release" }
project "ExampleLib"
kind "SharedLib"
language "C#"
files { "../src/**.cs" }
configuration "Debug"
defines { "DEBUG" }
flags { "Symbols" }
configuration "Release"
defines { "NDEBUG" }
flags { "Optimize" }
Когда я генерировать Makefile с premake4 --os=linux gmake
, я получаю этот выход:
Building configurations...
Running action 'gmake'...
Generating Makefile...
Generating ExampleLib.make...
[string "premake.dotnet = { }..."]:28: attempt to compare nil with string
Если я пытаюсь пробеге файл сборки, я получаю это:
==== Building ExampleLib (debug) ====
ExampleLib.make:12: *** missing 'endif'. Stop.
Makefile:16: recipe for target 'ExampleLib' failed
make: *** [ExampleLib] Error 2
Рассмотрение Makefile, кажется, что Premake внезапно прекратил работу в разделе «ifndef CSC».
Как я могу получить проекты C# для сборки с помощью Premake?
Я нахожусь на Ubuntu 15.10 с установленным Mono и MonoDevelop, если это помогает.
Premake4 не видит много вкладов в эти дни, если вы только начинаете, вы должны использовать Premake5 (http://premake.github.io/). Эта версия работает лучше для вас? – starkos
@starkos отлично работает – InitializeSahib