je tente d'utiliser WPP en mode utilisateur, a réussi à utiliser avec succès dans VS10, cible de sortie en ajoutant au fichier proj:utilisation WPP de l'application en mode utilisateur
<PropertyGroup><WdkDir>c:\work\Proj\wppTest\DDK\</WdkDir><MyTargetsDir>c:\work\Proj\wppTest</MyTargetsDir> </PropertyGroup>
...
<ImportGroup Label="ExtensionTargets">
<Import Project="$(MyTargetsDir)\Wpp.targets" />
</ImportGroup>
Ensuite Wpp.targets est défini comme celui-ci :
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ExtensionsToDeleteOnClean>$(ExtensionsToDeleteOnClean);*.tmh</ExtensionsToDeleteOnClean>
</PropertyGroup>
<ItemGroup>
<CoreCppClean Include="@(CoreCppClean);$(ProjectDir)">
<FilePatternsToDelete>*.tmh</FilePatternsToDelete>
</CoreCppClean>
</ItemGroup>
<ItemGroup>
<TraceWppSources Include="@(ClCompile)" Exclude="stdafx.cpp" />
</ItemGroup>
<Target Name="TraceWpp" BeforeTargets="ClCompile" Inputs="@(TraceWppSources)" Outputs="@(TraceWppSources -> '%(Filename).tmh')">
<Exec Command="cd $(ProjectDir)" />
<Message Importance="high" Text="Creating tmh"/>
<Exec Command="$(WdkDir)\bin\x86\tracewpp.EXE -cfgdir:$(WdkDir)\bin\wppconfig\rev1 -odir:. @(TraceWppSources, ' ')" />
<Message Importance="high" Text="tmh created"/>
</Target>
</Project>
cette mesures ont été prises à l'article: http://www.devproconnections.com/article/visual-studio-2010/wpp-tracing-in-visual-c-2010-projects
Lorsque vous essayez de compiler cette sous VS10-> Debug je peux voir que les fichiers « de TMH » sont générés seulement que je g et erreur lorsque je veux enregistrer quelque chose:
DoTraceMessage (TRACE_ERROR, L "Aha"); // erreur C2065: 'TRACE_ERROR': erreur d'identificateur non déclarée C3861: 'WPP_CALL_Application_Test_cpp': identificateur non trouvé
Comme je l'ai dit, je n'ai aucun problème avec le même code sur VS10-> Libérer la cible. Voici ma référence: définit pour
#pragma once
#define WPP_CONTROL_GUIDS \
WPP_DEFINE_CONTROL_GUID(CtlGuid,(28EE579B, CF67, 43b6, 9D19, 8930E7AAA131), \
\
WPP_DEFINE_BIT(TRACE_ERROR) \
WPP_DEFINE_BIT(TRACE_WARNING) \
WPP_DEFINE_BIT(TRACE_INFO1) \
WPP_DEFINE_BIT(TRACE_INFO2) \
)
Est-ce que quelqu'un a une idée pourquoi cela pourrait fonctionner en utilisant le mode de sortie, mais ne fonctionne pas en mode débogage?