visual c++ release erstellen
-
Hey Leute ich brauch dringend eure Hilfe! Also ich habe mit visual studio 2013 express ne konsolenanwendung in c++ geschrieben die auch einwandfrei läuft!
Will ich jetzt allerdings eine release erstellen sodass sie auch auf anderen Rechnern läuft tritt folgendes Problem auf:error D8016: Die Befehlszeilenoptionen /clr und /MT sind inkompatibel.
Ich kann allerdings die Common Language Runtime-Unterstützung nicht umstellen da er der compiler sonst meinen code nicht mehr versteht.
Also wie schaffe ich es jetzt dass meine Anwendung auf jedem Windowsrechner läuft?
Vielen Dank schon mal
-
Ph1l schrieb:
[...] Also ich habe mit visual studio 2013 express ne konsolenanwendung in c++ [...]
Sicher, daß es kein C++/CLI-Projekt ist?
-
Gute Frage! Bin mir ehrlich gesagt nicht sicher. Allerdings war es nicht gewollt wenn es so ist
Danke für den Link allerdings hilft der mir nicht richtig weiter, da wenn ich wie dort beschrieben auf MD stelle bei der Ausführung auf einem anderen Rechner die DLL fehlt
-
Ph1l schrieb:
Gute Frage! Bin mir ehrlich gesagt nicht sicher. Allerdings war es nicht gewollt wenn es so ist [...]
Dann geh hin, lege eine neue "Win32 Konsolenanwendung" an (findest du unter "Visual C++"), kopier' deinen Code hinein, stell auf Static Multithreaded und probiers.
-
gleiches Spiel wie vorher
ohne clr versteht der Compiler den Code nicht da ich den Namespace System verwende.
Un clr und MT vertragen sich beim compilieren wieder nicht
-
Wenn die die CLR verwendest, dann hast du keine andere Wahl als dynamisch gegen die multithreaded Runtime zu linken. Da führt nichts daran vorbei. Auf dem Zielsystem hüssen halt die Visual C++ Redistributable Packages für Visual Studio 2013 installiert sein.
-
ehm okay
Vielen dank für den Hinweis!könntest du mir vll erklären wie ich das anstelle?
-
-
ach so danke
da stand ich grad auf em schlauch des kenn ich natürlich
Gibt es eine möglichkeit dass die Visual C++ Redistributable Packages für Visual Studio 2013 irgendwie automatisch mit meinem Programm mitliefern kann?
-
Redistributing Visual C++ Files.
... und das nächste mal geh bitte mit soetwas ins Compiler/IDE-Forum, denn das hat nix mit der MFC zu tun.
-
Gibt es eine möglichkeit dass die Visual C++ Redistributable Packages für Visual Studio 2013 irgendwie automatisch mit meinem Programm mitliefern kann?
Seit Visual C++ 2010 ist es nicht mehr zwingend notwendig, die Laufzeitbibliotheken über den Redistributable Installer auszuliefern, da die Laufzeitbibliotheken nicht mehr über SxS verwaltet werden.
Einfach die msvcr120.dll und msvcp120.dll in den selben Ordner wie die Programm-Dateien legen und es sollte laufen. Schadet aber nicht, auch mal in den Dependency Walker zu schauen, um zusätzliche Abhängigkeiten aufzuspüren
Davon unabhängig: Mit aktiviertem CLR-Support (**
/clr
**) wirst Du nicht umher kommen, auch auf dem Ziel-System das .NET Framewrok (offline-installer) in der passenden Version zu installieren...Bist Du 100% sicher, dass Du den CLR-Support wirklich benötigst ???
ohne clr versteht der Compiler den Code nicht da ich den Namespace System verwende.
Die Frage ist doch wieso Du das überhaupt machst. Und ob es sich nicht vielleicht ganz leicht vermeiden lässt...
(Normalerweise würdest Du das ja nur machen, um aus der C/C++ Welt auf .NET Assemblies zuzugreifen oder umgekehrt um native C/C++ Funktionen bzw. Klassen in die .NET Welt zu exportieren)