2014-08-31 9 views
5

Mit Warnstufe 4 Satz in meinem C++ Projekt Ich sehe die Bewältigung folgende Situationen:Wie mit BK4504 Warnung

Warnung 1 Warnung BK4504: Datei enthält zu viele Referenzen; ignorierend mwN aus dieser Quelle c: \ Programme (x86) \ windows Kits \ 8.1 \ include \ um \ mshtml.h 37492

mshtml.h im externen Abhängigkeiten Ordner meines Projekts aufgeführt ist und, so weit Wie ich feststellen kann, scheint es sich um einen von Microsoft gelieferten Header als Teil des Windows 8.1 SDK zu handeln.

Ich bin ein Anfänger Programmierer und meine Nachforschungen von diesem enthüllt es ein Problem mit mshtml.h überschreiten der Symbol Referenzgrenze von 64.000, an welcher Stelle BCSMAKE wirft seine Hände generiert diese Nachricht.

Ist es sicher, diese Warnung einfach zu ignorieren? Mir ist bewusst, dass es möglich ist, bestimmte Warnungen unter Verwendung von #pragma Direktiven zu deaktivieren, aber wo setze ich diese Anweisung? Ich habe versucht, #pragma warning(disable: 4504) an mehreren Stellen in meinen Quelldateien, aber die Warnung bleibt bestehen.

Die einzige Möglichkeit, diese Meldung zuverlässig zu deaktivieren, scheint in den Projekteinstellungen zu aktivieren, aber mein Gefühl ist, dass ich das nicht tun sollte.

+0

Siehe auch [So entfernen Sie "BSCMAKE-Fehler BK1500: Interner Fehler" Fehler kompilieren] (http://StackOverflow.com/questions/25592363/How-To-Deal-With-Bk4504-warning), die in MSVS behauptet 2010 Informationen durchsuchen ist nutzlos. – PJTraill

Antwort

8

Meine "Lösung" war die BSC-Generation für afxhtml.h auszuschalten wie folgt (die mshtml.h enthält):

#pragma component(browser, off, references) 
#include <afxhtml.h> 
#pragma component(browser, on, references) 

Sie mehr über dieses Pragma hier lesen: MSDN: component