Visual Studio 2017で外部ライブラリをNuGetしたプロジェクトでビルドする際に「LNK4098 defaultlib 'MSVCRTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。」が発生した.
公式リファレンスによれば、互換性のないライブラリとリンクしようとしている場合に生じるエラーらしい. というのもVisual Studio でビルドすると規定のライブラリは自動的にリンクされるが、ビルド時にリンクする外部ライブラリによってはこの規定のライブラリのどれかをリンクしてはいけない組み合わせがあるのだという.
デフォルトでリンクされるライブラリをリンクさせないために、Visual Studioのコマンドラインには/NODEFAULTLIBオプションがある. /NODEFAULTLIBオプションを指定すると外部参照を解決するときに検索するライブラリの一覧からすべての規定のライブラリを削除する. libraryパラメータを使用すると、指定した規定ライブラリだけをリンクしないようになる. 設定は簡単でプロジェクト->プロジェクトのプロパティ->リンカ->入力->特定の規定のライブラリを無視 の項目に除外したいライブラリ名を追加するだけ.