2016-07-13 12 views
0

Ich habe gerade über Premake vor kurzem gelernt und beschlossen, es auszuprobieren.
Es scheint mit C++ - Projekten zu funktionieren, aber aus irgendeinem Grund, wenn es auf ein C# -Programm trifft, klappt es aus.
Nehmen Sie dieses Beispiel Premake Skript:Premake erstellt Makefile für C# -Bibliothek nicht

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" } 

Als ich das Makefile mit premake4 --os=linux gmake erzeugen, erhalte ich diese Ausgabe:

Building configurations... 
Running action 'gmake'... 
Generating Makefile... 
Generating ExampleLib.make... 
[string "premake.dotnet = { }..."]:28: attempt to compare nil with string 

Wenn ich das Makefile auf der Flucht versuchen, bekomme ich diese:

==== Building ExampleLib (debug) ==== 
ExampleLib.make:12: *** missing 'endif'. Stop. 
Makefile:16: recipe for target 'ExampleLib' failed 
make: *** [ExampleLib] Error 2 

Bei der Untersuchung des Makefiles scheint es, dass Premake während des Abschnitts "ifndef CSC" abrupt beendet wurde.

Wie kann ich mit Premake C# -Projekte erstellen?

Ich bin auf Ubuntu 15.10 mit Mono und MonoDevelop installiert, wenn das hilft.

+0

Premake4 sieht nicht viele Beiträge in diesen Tagen, wenn Sie gerade erst anfangen, sollten Sie Premake5 (http://premake.github.io/) verwenden. Funktioniert diese Version für dich besser? – starkos

+0

@ Starkos funktioniert großartig – InitializeSahib

Antwort

0

Die Lösung, die für mich arbeitete, war die Verwendung premake5 mit der --dotnet=mono Flag.