Probleme mit <Windows.h> und <iostream> etc.
-
hallo,
ich habe ein problem:
jedesmal, wenn ich in einer WinAPI - Konsolenanwendung <Windows.h> und Standard - Systemheader wie <iostream> einbinde, bekomme ich die Fehlermeldung:interlockedbitandreset: Zweite "C"-Bindung für diese Funktion nicht zulässig.
In Tutorials habe ich aber schon oft gesehen, dass das funktioniert.
Wie gesagt, dass passiert nur, wenn ich beide gleichzeitig einbinde und kompiliere.
Jeweils einzeln geht es.Wenn ich auf die Fehlermeldung doppelklicke, komme ich in die Datei "intrin.h", wo für mich irgendwie ziemlich chinesisches C++ drinsteht.
Hat jemand eine Idee, was ich da machen kann?
Danke!
Player894
-
Welcher Kompiler/IDE?
-
Oh, entschuldigung!
Microsoft Visual Studio 2012 Express Edition.
Win32 - Windows-Konsolenanwendung.
-
...
-
oh, sry, hier:
// ConsoleApplication1.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung. // #include "stdafx.h" #include <Windows.h> #include <iostream> int _tmain(int argc, _TCHAR* argv[]) { return 0; }
Fehler 109 error C2733: '_interlockedbittestandreset' : Zweite C-Bindung für überladene Funktion nicht zulässig c:\program files (x86)\microsoft visual studio 11.0\vc\include\intrin.h 450 1 ConsoleApplication1 Fehler 110 error C2733: '_interlockedbittestandset' : Zweite C-Bindung für überladene Funktion nicht zulässig c:\program files (x86)\microsoft visual studio 11.0\vc\include\intrin.h 455 1 ConsoleApplication1 111 IntelliSense: Mindestens eine Instanz der überladenen Funktion ""_interlockedbittestandreset"" weist eine "C"-Verknüpfung auf. c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h 450 1 ConsoleApplication1 112 IntelliSense: Mindestens eine Instanz der überladenen Funktion ""_interlockedbittestandset"" weist eine "C"-Verknüpfung auf. c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h 455 1 ConsoleApplication1
-
Wie sieht stdfax.h aus?
-
// stdafx.h : Includedatei für Standardsystem-Includedateien // oder häufig verwendete projektspezifische Includedateien, // die nur in unregelmäßigen Abständen geändert werden. // #pragma once #include "targetver.h" #include <stdio.h> #include <tchar.h> // TODO: Hier auf zusätzliche Header, die das Programm erfordert, verweisen.
stdafx.h
==========
#pragma once // Durch Einbeziehen von"SDKDDKVer.h" wird die höchste verfügbare Windows-Plattform definiert. // Wenn Sie die Anwendung für eine frühere Windows-Plattform erstellen möchten, schließen Sie "WinSDKVer.h" ein, und // legen Sie das _WIN32_WINNT-Makro auf die zu unterstützende Plattform fest, bevor Sie "SDKDDKVer.h" einschließen. #include <SDKDDKVer.h>
targetver.h
==========
// stdafx.cpp : Quelldatei, die nur die Standard-Includes einbindet. // ConsoleApplication1.pch ist der vorkompilierte Header. // stdafx.obj enthält die vorkompilierten Typinformationen. #include "stdafx.h" // TODO: Auf zusätzliche Header verweisen, die in STDAFX.H // und nicht in dieser Datei erforderlich sind.
stdafx.cpp
==========
Das wäre das ganze Projekt.
Das Problem tritt aber auch auf, wenn ich einfach ein "Leeres Projekt" erstelle und dann nur den _tmain Teil mit Windows.h und iostream hineinschreibe.
-
Bei mir klappt das ohne Probleme.
Kannst du mal deine Compilereinstellungen zeigen?
-
...
-
Hier:
mit 7z komprimiert, anders konnte ich es mit der Ordnerstruktur nicht hochladen:
https://docs.google.com/file/d/0B5vevB4fca02al80Yk1mVDhWQUk/edit?usp=sharing
-
2012 Express?
Wenn ich nach dem Problem suche finde ich nur Beschreibungen zu 2010!Siehe:
http://stefanobolli.blogspot.de/2010/10/compiler-error-c2733-second-c-linkage.html