2016-07-13 7 views
0

Недавно я узнал о 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, если это помогает.

+0

Premake4 не видит много вкладов в эти дни, если вы только начинаете, вы должны использовать Premake5 (http://premake.github.io/). Эта версия работает лучше для вас? – starkos

+0

@starkos отлично работает – InitializeSahib

ответ

0

Решение, которое сработало для меня, состояло в использовании premake5 с флагом --dotnet=mono.

 Смежные вопросы

  • Нет связанных вопросов^_^