Avviso degli strumenti del linker LNK4247

il punto di ingresso 'decorated_function_name' ha già un attributo thread; 'attribute' ignorato

Un punto di ingresso, specificato con /ENTRY (Entry-Point Symbol) aveva un attributo di threading, ma è stato specificato anche /CLRTHREADATTRIBUTE (Set CLR Thread Attribute) con un modello di threading diverso.

Il linker ha ignorato il valore specificato con /CLRTHREADATTRIBUTE.

Per risolvere questo avviso:

  • Rimuovere /CLRTHREADATTRIBUTE dalla compilazione.

  • Rimuovere l'attributo dal file del codice sorgente.

  • Rimuovere sia l'attributo dall'origine che da /CLRTHREADATTRIBUTE dalla compilazione e accettare il modello di threading CLR predefinito.

  • Modificare il valore passato a /CLRTHREADATTRIBUTE, in modo che accetti l'attributo nell'origine.

  • Modificare l'attributo nell'origine, in modo che accetti il valore passato a /CLRTHREADATTRIBUTE.

L'esempio seguente genera LNK4247

// LNK4247.cpp
// compile with: /clr /c
// post-build command: link /CLRTHREADATTRIBUTE:STA LNK4247.obj /entry:functionTitle /SUBSYSTEM:Console
[System::MTAThreadAttribute]
void functionTitle (){}