次の方法で共有


リンカー ツールの警告 LNK4247

エントリ ポイント 'decorated_function_name' にはスレッド属性が既に指定されています。'attribute' は無視されます。

/ENTRY (エントリポイント シンボル) で指定されたエントリ ポイントにはスレッド属性がありますが、スレッド モデルが異なる /CLRTHREADATTRIBUTE (CLR スレッド属性の設定) も指定されています。

/CLRTHREADATTRIBUTE によって指定された値は、リンカーによって無視されました。

この警告を解決するには:

  • ビルドから /CLRTHREADATTRIBUTE を削除します。

  • ソース コード ファイルから属性を削除します。

  • ソースから属性を削除すると共に、ビルドからも /CLRTHREADATTRIBUTE を削除し、既定の CLR スレッド モデルを受け入れます。

  • /CLRTHREADATTRIBUTE に渡された値を、ソースの属性と一致するように変更します。

  • ソースの属性を、/CLRTHREADATTRIBUTE に渡された値と一致するように変更します。

次の例では LNK4247 が生成されます。

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