2017-09-26 12 views
0

私はVisual Studio 2017でDLLプロジェクトを作成しています。このライブラリはFTDIからftd2xxライブラリのいくつかの機能を追加しています。 this instructionに記載されているようにプロジェクトをセットアップしました。私はft2dxxライブラリの静的バージョンとリンクしています。指示と私のプロジェクトの唯一の違いは、ランタイムライブラリの選択です。命令は、マルチスレッドデバッグランタイムライブラリを使用する必要があることを示します(図2.16)。私はDLLに取り組んでいるので、私の場合、私は、マルチスレッドデバッグDLL(/ MDD)オプションを選択した(下の画像を参照) enter image description here 私はプロジェクトをビルドするとき、私は次のエラーを取得: enter image description here を最初の警告をクリックすると、thisページが開きます。 Webページに記載されているように私は、プロジェクトのプロパティを変更: enter image description here これは最初の警告を修正しますが、リンクエラーがまだ存在する: enter image description hereftd2xx静的ライブラリリンクエラー

だから、結論する:私は、ランタイムライブラリに問題があると仮定し、使用しますftd2xxライブラリによって、私はこれをどのように修正するのか分かりません。助言がありますか?

+0

"マルチスレッドデバッグDLL"設定は、DLLバージョンの_runtimeライブラリ_にリンクするようにコンパイラに指示します。あなたのプロジェクトがDLLをビルドしているという事実とは無関係の "DLL"です。 ftd2xxがランタイムライブラリの静的(つまり非DLL)バージョンに対してコンパイルされた場合、競合を避けるために、アプリケーションは同じことを行う必要があります。おそらく、マニュアルに従ってください。 – Kessel

答えて

0

解決策が見つかったhere。解決策は、 'legacy_stdio_definitions.lib'をリンカの入力に追加することです。これを行うには、プロジェクトのプロパティ - >リンカ - >入力に進み、追加の依存関係に 'legacy_stdio_definitions.lib'を追加します。

関連する問題