xxx \ VC \ atlmfc \ include \ atlcore.h (638): errore C2039: “SetDefaultDllDirectories”: non è un membro di "global namespace"errore C2039: “SetDefaultDllDirectories”: non è un membro del namespace globale
#ifndef _USING_V110_SDK71_
// the LOAD_LIBRARY_SEARCH_SYSTEM32 flag for LoadLibraryExW is only supported if the DLL-preload fixes are installed, so
// use LoadLibraryExW only if SetDefaultDllDirectories is available (only on Win8, or with KB2533623 on Vista and Win7)...
IFDYNAMICGETCACHEDFUNCTION(L"kernel32.dll", SetDefaultDllDirectories, pfSetDefaultDllDirectories)
{
return(::LoadLibraryExW(pszLibrary, NULL, LOAD_LIBRARY_SEARCH_SYSTEM32));
}
#endif
le funzioni in esso non sono tutte realizzate da VS
quindi come posso risolvere questo problema?
C'è qualcosa che non va con il libray? Eseguo questo programma in VS2012
Se le definizioni del preprocessore di risorse C/C++ e della risorsa sono personalizzate nella pagina delle proprietà del progetto, assicurarsi che terminino con __;% (PreprocessorDefinitions) __. Ciò ha causato un problema con un simbolo __ \ _ USING_V110_SDK71 \ ___ indefinito per un progetto migrato da VS2005 a VS2010 e ora VS2015 - questo mancava per le configurazioni di debug x86/x64 ma non per le configurazioni di rilascio. – UweBaemayr
"Eredita dai valori predefiniti del genitore o del progetto" controlla se ";% (PreprocessorDefinitions)" è presente o meno. Se lo aggiungi/rimuovi manualmente, troverai le modifiche della casella di spunta. È più facile controllare il tickbox che ricordare ";% (PreprocessorDefinitions)" :) –
Ah sì, capisco. Devi selezionare Modifica dal menu a discesa nelle Definizioni del preprocessore per vederlo. Ho pensato che ti stavi riferendo alla voce "" nel menu a discesa, che cancella le personalizzazioni. Non ho eseguito il drill abbastanza profondo e abbastanza sicuro, controllando/deselezionando le cause della casella;% (PreprocessorDefinitions) da aggiungere e rimuovere. –
UweBaemayr