2017-09-26 93 views
0

我正在開發Visual Studio 2017中的DLL項目。該庫增加了一些來自FTDI的ftd2xx庫的功能。我按照this instruction中的描述設置了該項目。我正在鏈接到ft2dxx庫的靜態版本。指令和我的項目之間唯一的區別在於運行時庫的選擇。該指令聲明(圖2.16)必須使用多線程調試運行時庫。在我的情況下,我選擇了多線程調試DLL(/ MDd)選項,因爲我正在處理一個DLL(請參閱下圖)。 enter image description here 當我點擊第一條警告時,this頁面打開。我改變了項目屬性爲網頁上描述: enter image description here 這修正了第一次警告,但鏈接錯誤仍然存​​在: enter image description hereftd2xx靜態庫鏈接錯誤

因此,得出結論:我認爲有什麼不對的運行時庫,用於由ftd2xx庫,但我不知道如何解決這個問題。有什麼建議麼?

+0

「多線程調試DLL」設置告訴編譯器鏈接到_runtime library_的DLL版本。這個「DLL」與您的項目構建DLL的事實無關。如果ftd2xx是針對運行時庫的靜態(即非DLL)版本編譯的,則應用程序應該這樣做以避免衝突。所以你應該只是按照手冊。 – Kessel

回答

0

我找到了解決方案here。解決方案是將'legacy_stdio_definitions.lib'添加到鏈接器輸入。爲此,請轉至項目屬性 - >鏈接器 - >輸入,並將「legacy_stdio_definitions.lib」添加到其他依賴項。