Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Zockerknight

Frischling

  • »Zockerknight« ist der Autor dieses Themas

Beiträge: 22

Beruf: Schüler (11.Klasse)

  • Private Nachricht senden

1

06.04.2009, 12:46

Fehler: Falsche Anwendungskonfiguration bei winsockets

Hallo,

Ich habe folgendes Problem, meine Anwendung funktioniert, nur bei Leuten, die eine IDE(Visual C++) installiert haben. Bei allen anderen kommt diese Fehlermeldung: Die Anwendung konnte nicht gestartet werden, weil die Anwendungskonfiguration nicht korrekt ist. Ich glaube bei Vista Nutzern kommt falsche Side by Side Konfiguration.
Als erstes hab ich vermutet das es an der ws2_32.lib(Die ich dem Linker angeben muss) liegt, also wurde die WS2_32.dll in den system32 Ordner reinkopiert, was leider nicht zum Erfolg führte.

Weiß jemand von euch wie sich das Problem lösen lässt?

mfg Chris

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

06.04.2009, 13:33

Es hat nicht mit den winsock zu tun sondern mit der runtime, die du nutzt. Nutz einfach mal die Forensuche mit dem Stichpunkt "Anwendungskonfiguration nicht korrekt". Wirst schon viel zu finden.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Zockerknight

Frischling

  • »Zockerknight« ist der Autor dieses Themas

Beiträge: 22

Beruf: Schüler (11.Klasse)

  • Private Nachricht senden

3

06.04.2009, 14:38

Ja du hast recht, ich habs schnell gefunden.
Es ist nur so, der der das Programm ausführt, immernoch denselben Fehler bekommt , obwohl er .NET 3.5 installiert hat und das hier.

http://www.microsoft.com/downloads/detai…&displaylang=en

Statisch linken funktioniert auch nicht:
7 Fehler unter anderem
error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__malloc_dbg" in Funktion ""void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)".

oder
1>libcpmtd.lib(stdthrow.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".

der Rest sind alles LNK2001 Fehler

(meine IDE Visual Studio 2008)
(Hab ausversehen falsches Subforum erwischt, C++ wäre wohl besser)

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

06.04.2009, 16:14

Das ist sehr seltsam, weil eigentlich sollte es mit den redist gehen. Ggf. solltest du ein paar mehr infos bezüglich der Fehler beim statischen Linken geben, weil damit hatte ich bisher noch die wenigsten Scherereien.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Zockerknight

Frischling

  • »Zockerknight« ist der Autor dieses Themas

Beiträge: 22

Beruf: Schüler (11.Klasse)

  • Private Nachricht senden

5

06.04.2009, 17:51

Hier mal die gesamte Auflistung der Fehler 7 Stück

1>libcpmtd.lib(stdthrow.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".

error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__malloc_dbg" in Funktion ""void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)".

error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__calloc_dbg" in Funktion "__Getctype".

error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__malloc_dbg" in Funktion ""void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)".

error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__free_dbg" in Funktion ""void __cdecl operator delete(void *,struct std::_DebugHeapTag_t const &,char *,int)" (??3@YAXPAXABU_DebugHeapTag_t@std@@PADH@Z)".

error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__calloc_dbg" in Funktion "__Getctype".

fatal error LNK1120: 4 nicht aufgelöste externe Verweise.


dann noch eine Warnung:
warning LNK4098: Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden

so ist es wenn ich es mit Multithreaded(/MT) zu kompilieren versuche

wenn ich es allerdings mit Multithreaded-Debug-DLL (/MDd) kompiliere, funktionierts und es kommt auch diese eine Warnung nicht.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

06.04.2009, 18:04

Okay. Welche libs nutzt du noch?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Zockerknight

Frischling

  • »Zockerknight« ist der Autor dieses Themas

Beiträge: 22

Beruf: Schüler (11.Klasse)

  • Private Nachricht senden

7

06.04.2009, 18:20

Die hier ist beim Linker eingebunden ws2_32.lib um die Winsockets benutzen zu können.

Desweiteren bentutze ich folgende Header:
#include <windows.h>
#include <list>
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
#include <string>


Ich benutze auch die funktion malloc, was hier anscheindend einen Linker fehler verursacht hat.
Das ganze ist eine leere Win32 anwendung.
Ich benutze wie gesagt die die WinAPI für meine Benutzeroberfläche.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

8

06.04.2009, 18:30

"Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken;" weißt darauf hin, dass du noch eine andere Lib nutzt neben der ws2_32.lib.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

9

06.04.2009, 18:39

schreib mal unter Projekt->Eigenschaften->Konfigurationseigenschaften->Linker->Eingabe bei Bibliothek ignorieren LIBCMT.lib oder sowas in der art rein, bis die warnung weg geht, und guck mal, was er dir dann sagt

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

10

06.04.2009, 18:41

Naja....Warnungen sollte man nicht einfach ignoriern.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige