2016-10-02 12 views
1

C++で個人用プロジェクトを作成しようとしているときに、問題が発生しました。私はLinux環境では通常プロジェクトで作業しているが、プロジェクトをWindows上で動作させたいと思ったときにはわかりません。 Windows上でClangを異なるランタイムにリンクする方法

は、残念ながら、私が使用しているコンパイラ、クランは、私に次のエラーを投げ始めている:私は基本的なコンパイラが使用して、私すべきランタイムクランを伝えるためにどのよう見当がつかない

libboost_filesystem-vc140-mt-1_61.lib(operations.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in buffer.obj 

問題がされ私がする必要はない場合は、今度はclang-clを使用しないでください。

WindowsでClangをダイナミックランタイムにリンクする正しい方法は何ですか?

答えて

2

リンカの不具合をどの部分が止めているのか分かりませんが、私のビルドスクリプトでは、-D_MT -D_DLLを私のコンパイラとリンカの2つのオプションとして指定しました。また、リンカのデフォルトライブラリ-Xlinker /NODEFAULTLIB)、手動でリンクするランタイムのバージョンを指定してください(私の場合は-lmsvcrt -lucrt -lmsvcprt -lvcruntime)。これらの2つの変更は、リンケージとコンパイルのエラーをすべて停止させたようです。

関連する問題