2016-08-02 16 views
8

Chcę opublikować paczkę o sdl_mixer, to pakiet natywny .Zrobiłem jako tutorial powiedział. kładę .dll.h i .lib pliki do zawartości pakietu , ale ostateczny pakiet nie działa .so co jest właściwy sposób utworzyć pakiet Nuget C++?jak stworzyć pakiet nuget dla natywnego C++

Inną kwestią jest to znalazłem w Nuget większość macierzystym C++ pakiet zostały opublikowane w dwóch pakietu, na przykład:

sdl2_ttf.v140

sdl2_ttf.v140.redist

więc jaka jest różnica między tymi dwoma plikami i jak mogę opublikować pakiet tak?

--------------------------------------- aktualizacja ------ ------------------------------

kiedy lubię samouczek o tym, jak opublikować pakiet natywny .i napisałem jak poniżej 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; 
    }; 

}

po poleceniu uruchamiania

Write-NuGetPackage .\sdl_mixer.autopkg

zwraca błędzie: niespodziewane wejście końca. Więc w czym problem ?

+0

„nie działa” nie mówi wiele ... jaki jest problem? nic się nie instaluje, występują błędy środowiska wykonawczego, brakuje komponentów? – dlatikay

+0

@dlatikay, gdy chcę dołączyć plik .h, przypomina mi, że nie mogę znaleźć pliku head. – spartawhy117

+0

Czy nie zapomniałeś "}" na końcu pliku autopkg? Błąd wskazuje, że zawartość pliku autopkg jest niepoprawna. –

Odpowiedz

2

Możesz użyć CoApp PowerShell tools, aby łatwo utworzyć pakiety Native Nuget.

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.

zobacz ten link do bardziej szczegółowych informacji: Support for Native Projects.