2016-08-02 14 views
8

erstellen Ich möchte Paket über sdl_mixer veröffentlichen, es ist ein natives Paket. Ich habe als tutorial gesagt. i setzte .dll.h und .lib Dateien in Paketinhalt , aber das endgültige Paket funktioniert nicht .so was richtig c zu erstellen, ist ++ nuget Paket?wie nuget-Paket für native C++

andere Frage ist, ich in nuget gefunden, die meist nativen C++ Paket wurde in zwei Paketen veröffentlicht, zum Beispiel:

sdl2_ttf.v140

sdl2_ttf.v140.redist

so was Unterschied zwischen diesen beiden Dateien ist und wie kann ich Paket wie das veröffentlichen?

--------------------------------------- Aktualisierung ------ ------------------------------

wenn ich Tutorial wie über das native Paket zu veröffentlichen gesagt habe ich geschrieben wie die folgenden autopkg file

nuget{ 
    nuspec { 
     id = MySdl_mixer; 
     version :2.0.0.0; 
     title: sdl mixer; 
     authors: { Sam Lantinga, Stephane Peter, Ryan Gordon}; 
     owners: {spartawhy117}; 
     licenseUrl: "http://libsdl.org/license.php"; 
     projectUrl: "http://libsdl.org/index.php"; 
     iconUrl:""; 
     requireLicenseAcceptance:false; 
     summary:Nothing; 
     description: @"SDL_mixer is a sample multi-channel audio mixer library.... 
    "; 
     releaseNotes: "Release of C++ "; 
     copyright:Copyright 2015; 
     tags: {v140 ,sdl_mixer , native, CoApp }; 
}; 

    files { 
     #defines { 
      Include = include\; 
      Bin = bin64\; 
      Lib = lib64\; 
     } 

     include:{"${Include}*"}; 

     [x64,v140,debug,desktop]{ 
      lib: ${Lib}SDL2_mixer.lib; 
      bin: ${Bin}SDL2_mixer.dll; 
     } 
     [x64,v140,release,desktop]{ 
      lib: ${Lib}SDL2_mixer.lib; 
      bin: ${Bin}SDL2_mixer.dll; 
     } 
    }; 
    targets { 
      Defines += HAS_SDLMIXER; 
    }; 

}

nach Fahrbefehl

Write-NuGetPackage .\sdl_mixer.autopkg

es gibt Fehler: unerwartete Eingang des Endes. also, was ist das Problem ?

+0

„hat nicht funktioniert“ erzählt nicht viel ... was ist das Problem? nichts wird installiert, Laufzeitfehler treten auf, Komponenten fehlen? – dlatikay

+0

@dlatikay, wenn ich die .h-Datei einschließen möchte, erinnere mich daran, kann die Kopfdatei nicht finden. – spartawhy117

+0

Können Sie sicherstellen, dass Sie "}" am Ende Ihrer Autopkg-Datei nicht verpasst haben? Der Fehler weist darauf hin, dass der Inhalt der Autopkg-Datei falsch ist. –

Antwort

2

Sie können CoApp PowerShell tools verwenden, um die nativen Nuget-Pakete einfach zu erstellen.

Creating Native Packages

If you’re interested in publishing your native libraries via NuGet, you can choose to create the NuGet packages manually. However, there’s an easier way--the CoApp project volunteered to write C++ oriented tools to create NuGet packages, and they have released a beta version of their tools. These tools simplify the process of generating the MSBuild files and NuGet packages from existing header and library files--you just need to create a configuration script to describe the contents of the package and then run the tools to generate the NuGet package.

auf diesen Link finden Sie für weitere Informationen: Support for Native Projects.