2016-06-21 5 views
0

Ich versuche, einen x2-Kameratreiber für eine Hamamatsu-Kamera in Visual Studio 2015 zu schreiben. Die X2-Treibervorlage enthält bereits windows.h als externe Abhängigkeit, aber beim Versuch, eine erforderliche Headerdatei einzuschließen, wird ein Fehler ausgegeben dass windows.h nicht enthalten ist (zusammen mit etwa 80 Fehlern von Funktionsaufrufen, die daher nicht existieren). Aber wenn ich windows.h sind, ich glaube, es verursacht eine doppelte umfassen und wirft diesen Fehler:Erhalten Sie einen seltsamen Fehler von winnt.h?

Severity: Error (active) 
Code: none 
Description: expected an identifier Project :x2camera 
File: c:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\um\winnt.h 
Line: 524 

ich wirklich bin neu mit Visual Studio-Projekten zu arbeiten - wie kann ich windows.h in die Datei enthalten So kann es die Funktionen und Deklarationen erhalten, die es braucht, ohne es tatsächlich einzubeziehen und eine doppelte Inklusion zu verursachen? Wie ich schon sagte, es ist in der "Projektabhängigkeiten" -Liste, und ich denke, es ist in einer anderen Datei enthalten (aber ich habe es schwer, das zu finden).

Oder ist das nicht mal mein Problem?

Jede Hilfe wird geschätzt.

+0

Hinweis: _windows.h_ (und alle anderen _VStudio_ Header-Dateien) haben den [#include guard] (https://msdn.microsoft.com/en-us/library/4141z1cx.aspx), um Mehrfacheinschlüsse zu vermeiden. – CristiFati

+0

Ich war ziemlich sicher, dass das der Fall war, also verstehe ich nicht, warum es diesen Fehler werfen würde. –

Antwort

0

Keine Ahnung, was das Problem war, aber irgendwie habe ich es geschafft, es zu kompilieren. Ich denke, es musste zuerst woanders enthalten sein, dann gebaut werden, dann einbezogen werden, wo es sein musste ... was keinen Sinn ergibt, aber vielleicht war es ein Fehler mit der Funktionsweise der Inklusion.

So oder so, meine Frage ist jetzt gelöst, obwohl die Fragen, die jetzt entstehen, wie "warum zum Teufel hat das funktioniert" sind verblüffend.