Ankündigung

Einklappen
Keine Ankündigung bisher.

Falcon.NET mit C++ benutzen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    KNX/EIB Falcon.NET mit C++ benutzen

    Hallo zusammen,

    ich beschäftige mich gerade mit der Falcon.NET Library und das ganze funktioniert mit C# richtig gut. Ich möchte aber C++ verwenden,
    da ich es gemeinsam mit einer API verwenden will, die nur C++ unterstützt. Jetzt habe ich aber nicht mehr wie früher bei der Falcon 2.1
    .c und .h files für die Verwendung sondern nur DLL Dateien. Irgendwie stehe ich da auf dem Schlauch, wie ich die notwendigen Dateien
    einbinden. Kann mir evtl. jemand einen Tipp geben? Ich benutze Visual Studio C++ 2012.


    #2
    Ich nutze zwar nur C# und hab mit C++ keine Erfahrung, dennoch kann man wohl eine C# Bibliothek aus einem C++ Code aufrufen.
    Schau mal bei Google unter "c# in c++"
    Der HomeServer Projektverwalter
    -Bald nicht mehr nur für den HS sondern auch viele Weitere-
    Kostenlos herunterladen unter:
    www.SmartHomeTools.de

    Kommentar


      #3
      Dazu benötigst du "C++/CLI". Schau mal hier: https://msdn.microsoft.com/de-de/library/68td296t.aspx

      Gruß, Klaus

      Kommentar


        #4
        Darf ich hier mal einhaken? Ich kann mit C++ so einigermaßen umgehen, C# ist mir ein Buch mit sieben Siegeln. Mit CLI kann ich die C#-Funktionen bereitstellen und dann in C++ nutzen. Hat das schon mal jemand gemacht? Beim Anschauen der Falcon 5-Doku wird mir angst und bange - sie ist zwar viel besser als die alte, aber auch x-mal umfangreicher.

        Nach etwas Grübeln wird es wohl darauf hinauslaufen, dass ich in C# einen Wrapper schreibe, der die benötigten Funktionen per CLI exportiert. Schöne neue Welt...

        Kommentar


          #5
          Jetzt kann ich mich nicht mehr um das Problem von 2016 drücken. Ich habe einmal ein C++/CLI (CLR) Projekt erstellt. Es soll eine Klassenbibliothek werden. Wenn ich versuche das Knx.Falcon.Sdk mit nuget zu installieren bekomme ich folgende Fehlermeldung:

          Das Paket "Autofac 4.6.2" konnte nicht installiert werden. Sie versuchen, dieses Paket in ein Projekt zu installieren, das sich auf "native,Version=v0.0" bezieht, das Paket enthält aber keine Assemblyverweise oder Inhaltsdateien, die mit diesem Framework kompatibel sind. Wenden Sie sich an den Paketersteller, um weitere Informationen zu erhalten.

          Könnt ihr da weiterhelfen, ich benutze Visual Studio 2017. Wenn ich ein reines C# Projekt habe funktioniert es.

          Kommentar


            #6
            Das ist ein nuget-Problem. Siehe:In zweiten Link wird davon gesprochen, dass ein Fix für in Visual Studio 2022 (17.3) geplant war; ich kann dir nicht auswendig sagen, ob das tatsächlich in der aktuellen Version von VS2022 funktioniert.
            Ansonsten einen der beschriebenen Workarounds nutzen.

            Kommentar


              #7
              Hallo Klaus,

              in VS 2022 ist es auch noch, habe ich gerade probiert. Oje, das wird ja ein Spass.

              Gibt es denn noch eine Möglichkeit Falcon in C++ zu nutzen?

              Kommentar


                #8
                Hast du schon mal mit Falcon 6 (https://www.nuget.org/packages/Knx.Falcon.Sdk​) probiert? Der hat keine Abhängigkeit von Autofac mehr.

                Ansonsten kannst du nuget vermeiden, indem du ein C#-Projekt machst, die Dateien kopierst und direkt referenzierst statt über nuget.

                Kommentar

                Lädt...
                X