使用PC-lint

來源:互聯網
上載者:User

PC-lint的使用網路上有很多,下一篇將會轉載一下。這裡主要記錄一下在使用的過程中所遇到的問題。

1.錯誤如下

-- Module:   d:/Projects/magellan/main/code/magellan/MgAIAction.cpp
      (C++)
      #include "co-msc80.h" /* generated from -header(co-msc80.h) */
      d:/Projects/magellan/main/code/magellan/MgAIAction.cpp(0): error 322:
      (Error -- Unable to open include file 'co-msc80.h')
出現這個錯誤時,我在網上找了很多也沒找到一個合適的解決方案,只有一個與上面問題相同的代碼標識。解決如下:
在PC LINT的檔案夾中找到co-msc80.lnt,開啟
轉到最後一行“-header(co-msc80.h) // implicitly includes <typeinfo>. (Needed because MSVC 8 implicitly declares class type_info.)”。
將其中的co-msc80.h改為絕對位址:-header(C:/pc-lint/co-msc80.h) ,這樣就可以了。

2.在VS2005中增加多檔案的PC LINT檢查,設定如下:
標題:pclint_project
命令:C:/unix/usr/local/wbin/find.exe
參數:$(ProjectDir) -name *.c -o -name *.cpp | C:/unix/usr/local/wbin/xargs C:/pclint/lint-nt -i"c:/unix/usr/local" -u c:/pc-lint/stdvc8.lnt c:/pc-lint/env-vc8.lnt

運行後出現錯誤:
C:/unix/usr/local/wbin/find.exe : paths must precede expression
Usage: C:/unix/usr/local/wbin/find.exe [path...] [expression]

原因是$(ProjectDir)解析後為C:/abc/de//,有問題,find接收的檔案夾路徑為C:/abc:/de

當前我還沒找到解決辦法,除了在控制台上直接運行!!

3.其實windows下使用pc-lint最好還是整合在source insight上。這裡注意一點:
      一般的人在設定好pc-lint後,運行發現有這樣的錯誤:error 322: (Error -- Unable to open include file 'stdafx.h')。這是因為在std.lnt中設定的包好選項中沒有辦好這個標頭檔的檔案夾路徑。
      這裡建議,如碰到該情況,請重建立立一個lnt檔案,將該工程所引用的標頭檔路徑都包含裡面。例如我建立了一個檔案叫header_myproject.lnt,裡面只有這句話-i"d:/SVN/閘機1.1/trunk/XdrEDCode;d:/SVN/閘機1.1/trunk/XdrEDCode/header" 注意-i一定要與"緊緊挨近一起。然後將檔案header_myproject.lnt路徑添加到std.lnt中即可。

4.使用PC-Lint時可能會遇到很多庫的標頭檔的錯誤,特別是在VS中。這時可以通過設定PC-LINT.exe的參數屏蔽庫檔案的錯誤。一般為PC-LINT.exe -wlib(x)
-wlib(0) 不產生任何庫資訊
-wlib(1) 只建置錯誤資訊(當處理庫的原始碼時)
-wlib(2) 建置錯誤和警示資訊
-wlib(3) 建置錯誤、警示和其它資訊(這是預設設定)
-wlib(4) 產生所有資訊

另外,如果你測試時不想看一下info類的資訊,可以在命令中增加-wx來屏蔽不需要顯示的資訊:
-w0 不產生資訊(除了遇到致命的錯誤)
-w1 只建置錯誤資訊 -- 沒有警示資訊和其它提示資訊
-w2 只有錯誤和警示資訊
-w3 建置錯誤、警示和其它提示資訊(這是預設設定)
-w4 產生所有資訊
一般情況下我先使用-w1再用-w2,最後用-w3

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.