Freigeben über


Linkertoolwarnung LNK4247

Einstiegspunkt 'decorated_function_name' hat bereits ein Threadattribut; 'Attribut' wird ignoriert

Ein mit /ENTRY (Symbol für Einstiegspunkt) angegebener Einstiegspunkt wies ein Threadattribut auf, obwohl gleichzeitig /CLRTHREADATTRIBUTE (Festlegen des CLR-Threadattributs) mit einem anderen Threadmodell angegeben wurde.

Der Linker hat den mit /CLRTHREADATTRIBUTE angegebenen Wert ignoriert.

So vermeiden Sie diese Warnung:

  • Entfernen Sie /CLRTHREADATTRIBUTE aus dem Build.

  • Entfernen Sie das Attribut aus der Quellcodedatei.

  • Entfernen Sie das Attribut aus der Quelle und /CLRTHREADATTRIBUTE aus dem Build, und verwenden Sie das Standard-CLR-Threadmodell.

  • Ändern Sie den an /CLRTHREADATTRIBUTE übergebenen Wert, sodass er mit dem Attribut in der Quelle übereinstimmt.

  • Ändern Sie das Attribut in der Quelle, sodass es mit dem an /CLRTHREADATTRIBUTE übergebenen Wert übereinstimmt.

Im folgenden Beispiel wird LNK4247 erzeugt

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