zu 3. Hast Du das Problem nur auf diesem Rechner oder auch auf anderen?
Nein, die Applikation läuft auch auf anderen Rechnern nicht und veursacht den gleichen Laufzeitfehler. Es scheint also schon am Linken oder beim Einbinden des Manifests zu scheitern.
Hallo!
Stand vor kurzem dasselbe Rätsel! Hier die Antwort:
http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/e40465f2-41b7-4243-ad33-15ae9366f4e6/
happy coding,
phelyks
Pellaeon schrieb:
Und wie?
Ich kann das inline in beiden Fällen schreiben. Aber ob der Compiler es umsetzt oder ignoriert, wie soll ich das rausfinden?
Compilieren, Breakpoint an die betreffende Stelle setzen, Debug-Session starten, "Disassembly" Fenster einblenden -> fertig.
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.
rüdiger schrieb:
@volkard
der VC6 kann doch iirc keine partielle Templatespezialisierung. Das verhindert doch extrem viele interessante Dinge.
kann sein. je nach ansprüchen ist das ein ko-kriterium.
aber der feagesteller liest eh nicht mehr mit. ich hatte den eindruck, er könne mit dem MSVC6 sehr gut leben.
Alles klar, danke.
// Edit
Ich habe jetzt mal eine .dll mit Funktionen geschrieben und die dann mit einem anderen Programm geladen.
Dann habe ich mal (um zu gucken was passiert) die Präprozessor Direktiven weggelassen:
#ifdef BUILD_DLL
#define DLL_EXPORT __declspec(dllexport)
#else
#define DLL_EXPORT __declspec(dllimport)
#endif
und das DLL_EXPORT vor den Funktionen ebenfalls weggelassen.
Hat aber trotzdem prima geklappt -.-
Macht der Compiler das schon automatisch ?
ich frage mich eben, ob es eine bessere Lösung gibt, als gemäß den "porting to 4.3"-Empfehlungen "if missing ... then include this header" Prä-4.3 Code abzuändern. Vielleicht einen Compiler switch oder irgendein Trick? Ich habe wirklich wenig Lust, sämtlichen fraglichen Prä-4.3-Code auf implizite #includes abzuklopfen, die bei 4.3 nicht mehr automatisch mit-includiert werden, und ggf. abzuändern.
Lösungsvorschlag:
DevC++ verwendet MinGW.
Unter MinGW einfach die mingwm10.dll mitgeben und, voila es läuft.
Abhängikeiten kann man auch anzeigen lassen, einfach mal Dependency Walker googlen, dann weiss man welche DLL man mitgeben muss. Natürlich sollte man so Dateien wie kernel.dll nicht weitergeben.
Tipp:
DevC++ ist alt und verbugt. Bitte Visual Studio Express 2008 oder Code::Blocks, Eclise CDT oder andere IDEs verwenden, die sind meistens produktiver und fehlerfreier.
rya.
Warum schaltest du die Warnung denn überhaupt aus? Sie macht an der Stelle absolut Sinn, da der Aufrufer ja darüber informiert wird, dass er hier Mist baut.
nieselfriem schrieb:
hallo wenn ich mein programm mit der Funktion strrev un ter Windows mit dem g++ compiliere geht dies ohne probl eme. jedoc unter linux bekomme ich die fehlermeldung
»strrev« wurde in diesem Gültigkeitsbereich nicht definiert
Wie kann ich das umgehen?
Gruß niesel
mir scheint, gcc bietet gar kein strrev an.
mir scheint, du musst es selber bauen oder im netz nach einer schönen implementierung suchen, z.B. http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SNIP/strrev.c
du kompilierst subsystem:windows, da is der programm entry point standardmäßig WinMain. das kannste mit #pragma comment(linker,"/SUBSYSTEM:CONSOLE" auf konsole umstellen.
Weißt du nicht was du in deine autoexec.bat
reinschreiben sollst, oder ist die schreibgeschützt?
Die Ändererungen in der Autoexec werden erst nach
einem Neustart aktiv.
Kannst aber auch ein Batch-Datei mit ähnlichem
Inhalt erstellen:
SET PATH=C:\mingw\include;%PATH%
C:\myeditor.EXE
Nennst du dann z.b. start.bat - kannst du
zwar auch in die autoexec.bat schreiben -
ist aber auf Dauer nicht ideal
Das musst du an deinen PC anpassen
Bei einigen Compiler-Packeten musst du auch noch
die Pfade zu den Includes und Libs eintragen
Statt myeditor trägst du den ein, den du hast.
Hab kein ME und es können je nach Mircosoft-Betriebssystem
kleine Korrekturen erforderlich sein. Sollte aber in groben
Zügen unter allen von DOS 3.x bis 6.22 sowie unter Win95 bis
min. W2k laufen - wahrscheinlich auch noch unter Xp oder Vista.
MfG f.-th.
sothis_ schrieb:
~fricky schrieb:
aber dass hier wieder welche mit vim und emacs ankommen, war irgendwie klar.
na ich muss doch bitten, der klassischste aller flamewars gehört mindestens einmal im monat in jedes forum
Eben. Und wer Vim nutzt, der kann auch gleich unter Windows arbeiten. Beides ein großes Herumgekrampfe und umständlich in der Bedienung :p
Nimm den QTCreator!
Kleiner Hinweis am Rand: Statische Libs sind einfach Archive die den binären Code enthalten und die sich mit Programmen wie 7ZIP auch öffnen lassen...
rya.
Also, das Video schaut hammer aus. Werd mir das heute abend mal saugen. Wenn das nur halb so gut ist, wie das auf dem Video ausschaut, dann ist das mal obergeil. Muss nur noch der Debugger hinhauen, dann wechselich glaub ich doch noch auf QT. Das ist nämlich der Grund warum ich von Visual Studio nicht wegkomme hihi. Weil der Debugger so elendig geil ist..
rya.
Sieh dir noch den CallStack an, da wirsde sehn was alles vorher aufgerufen wurde, deswegen ja CallStack
Lass dir bestimmte Werte während der Programmausführung ausgeben (z.B. in MFC mit Trace) oder Assert (auch MFC ) bei Pointern oder anderen Werten
Es gibt genug Möglichkeiten...