000
02.01.2006, 20:55 Uhr
~Fitsch
Gast
|
Hallo,
folgendes Problem: Es geht um ein C++ - Socket, daß wir im Rahmen eines Studienprojektes erstellen müssen um eine Speicherfunktion für eine externe Anwendung umzusetzen. Viel mehr darf ich leider auch nicht sagen, da wir für einen externen Arbeitgeber arbeiten...
Auf jeden Fall gibt es jetzt folgendes Problem: Das C++ - Programm wurde mit Visual Studio .NET entwickelt und funktioniert auch einwandfrei. Nur nicht, sobald man versucht die .exe (Konsolenanwendung) auf einem Rechner auszuführen auf dem kein .NET - Framework installiert ist. Dann nämlich kommt die Fehlermeldung
Die Anwendung konnte nicht richtig initialisiert werden (0xc0000135). Klicken Sie auf "OK", um die Anwendung zu beenden.
Ich schätze Mal es liegt daran dass ich irgendwelche ".NET-spezifischen" Bibliotheken oder Befehle verwende?
Kann ich das Programm irgendwie so kompilieren, dass es auch auf Rechnern läuft, auf denen kein .NET - Framework installiert ist? Oder darf ich alles nochmal machen?
Hier Mal ein Ausschnitt der Headerdatei mit allen includes:
-- Headerdatei --
C++: |
#include <stdio.h> #include <iostream> #include <winsock2.h> #include <windows.h> #include <direct.h> #include <shlobj.h> #include <fstream> #include <string.h> #using <mscorlib.dll>
using namespace std; using namespace System; using namespace System::IO;
|
Wie gesagt handelt es sich um ein Socket, dass auch die Sockettypischen (?) Befehle wie WSAStartup, bind, listen, recv usw. verwendet. Weiterhin wird mittels SHGetSpecialFolderPath das "Application Data" Verzeichnis ausgelesen und mittels CreateProcess ein Prozess gestartet. Davon abgesehen ist alles "Standard"-C++.
Sorry für die vielleicht schlechte oder unzureichende Beschreibung, aber für uns war das alles "Learning By Doing", insofern sind wir auch nicht ganz so versiert. Ich hoffe auf jeden Fall dass die Infos reichen. Wenn nichtm, für weitere Fragen steh ich natürlich zur Verfügung.
Schonmal Danke im Voraus,
Markus |