1. 程式人生 > >基於MFC的 CYPRESS USB上位機除錯記錄

基於MFC的 CYPRESS USB上位機除錯記錄

問題1:

1>------ 已啟動生成: 專案: USBdetect, 配置: Debug Win32 ------
1>正在編譯...
1>USBdetectDlg.cpp
1>c:\project\usbdetect\usbdetect\usbdetectdlg.cpp(181) : error C2664: “CWnd::SetDlgItemTextW”: 不能將引數 2 從“const char [17]”轉換為“LPCTSTR”
1>        與指向的型別無關;轉換要求 reinterpret_cast、C 樣式轉換或函式樣式轉換
1>生成日誌儲存在“file://c:\project\USBdetect\USBdetect\Debug\BuildLog.htm”
1>USBdetect - 1 個錯誤,0 個警告
========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ==========

解決辦法:

將usbdetectdlg.cpp(181)的SetDlgItemText(IDC_TEXT,"USB裝置已經連線!");改為:

SetDlgItemText(IDC_TEXT,_T("USB裝置已經連線!"));

參考:MFC中CString的使用總結 - 向上爬的蝸牛 - CSDN部落格
https://blog.csdn.net/abld99/article/details/50763831

 

問題2:

1>------ 已啟動生成: 專案: USBdetect, 配置: Debug Win32 ------
1>正在編譯...
1>stdafx.cpp
1>正在編譯...
1>USBdetect.cpp
1>USBdetectDlg.cpp
1>c:\project\usbdetect\usbdetect\cyioctl.h(24) : fatal error C1083: 無法開啟包括檔案:“devioctl.h”: No such file or directory
1>正在生成程式碼...
1>生成日誌儲存在“file://c:\project\USBdetect\USBdetect\Debug\BuildLog.htm”
1>USBdetect - 1 個錯誤,0 個警告
========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ==========
解決方法:

在網上下載devioctl.h標頭檔案,放在工程路徑下,開啟cyioctl.h修改第24行程式碼為 #include "devioctl.h"!

devioctl.h標頭檔案下載地址:

http://www.newxing.com/Code/VC/other/4393.html

問題3:

1>------ 已啟動全部重新生成: 專案: USBdetect, 配置: Debug Win32 ------
1>正在刪除專案“USBdetect”(配置“Debug|Win32”)的中間檔案和輸出檔案
1>正在編譯...
1>stdafx.cpp
1>正在編譯...
1>USBdetect.cpp
1>USBdetectDlg.cpp
1>c:\project\usbdetect\usbdetect\usbdetectdlg.cpp(297) : error C2065: “ReadThreadLoop”: 未宣告的識別符號
1>正在生成程式碼...
1>生成日誌儲存在“file://c:\project\USBdetect\USBdetect\Debug\BuildLog.htm”
1>USBdetect - 1 個錯誤,0 個警告
========== 全部重新生成: 成功 0 個,失敗 1 個,跳過 0 個 ==========

解決辦法:呼叫函式ReadThreadLoop之前,需要先申明,或者將函式ReadThreadLoop移動到呼叫模組的前方即可!

 

問題4:

warning LNK4098: 預設庫“LIBCMT”與其他庫的使用衝突;請使用 /NODEFAULTLIB:library

解決思路:

屬性=》配置屬性=》連結器=》輸入=》忽略特定庫LIBCMT

參考:warning LNK4098: 預設庫“LIBCMT”與其他庫的使用衝突;請使用 /NODEFAULTLIB:library - 以夢為碼,莫負韶華。

https://blog.csdn.net/bat67/article/details/52792256