Windows下cscope q選項出錯的解決

2021-06-16 12:05:25 字數 1282 閱讀 5336

from:

d:\temp> cscope -rbkq

input file specified two times.

cscope: cannot create inverted index; ignoring -q option

cscope: removed files ncscope.in.out and ncscope.po.out

當時easwy以為是windows版本的cscope不支援-q選項。

windows版本的cscope是支援-q選項的,出現以上錯誤是因為沒找到合適的sort命令。所以只要cscope程序的工作目錄下有gnu版本的sort就可以了。注意是程序的工作目錄,不是可執行程式的目錄。具體原因看一下cscope的**片段。

build.c

#ifdef win32

snprintf(sortcommand, sizeof(sortcommand), 「set lc_all=c && sort -t %s %s」, tmpdir, temp1);

#else

snprintf(sortcommand, sizeof(sortcommand), 「env lc_all=c sort -t %s %s」, tmpdir, temp1);

#endif

於是重新做了一下試驗。在安裝了cygwin後,在cygwin的shell介面中使用cscope,沒有出現上面的錯誤提示。但如果開啟windows的命令列視窗cmd.exe,在裡面執行cscope,則會出現上面的錯誤。

在仔細比較了cygwin和cmd.exe的環境後發現,原來是windows自帶的sort.exe搞的鬼。

在cygwin的shell視窗中,path環境變數的設定會使其先找到gnu版的sort.exe,所以上述cscope命令執行可以成功。但在cmd.exe視窗中,path環境變數會使其先找到windows自帶的sort.exe而不是gnu sort.exe,所以會出現上面的錯誤提示。

知道了問題的原因,解決方法就很簡單了,我們可以寫乙個批處理程式,在此程式中重設path環境變數,使cscope使用gnu版的sort.exe。示例程式如下:

d:\temp> type cs.bat

@echo off

set path=c:\cygwin\bin;

cscope -rbkq

在這個批處理裡,首先把path環境變數指向c:\cygwin\bin;

,我的cscope.exe和gnu版的sort.exe都在此目錄中。接下來現執行cscope命令,現在它使用的就是gnu版的sort.exe了。

windows下CoffeeScript 的實現

安裝coffeescript,需要先安裝node.js和npm。在mac 和 linux 的環境下,coffeescript的安裝是相當容易的。比較複雜的呢是在windows的環境下安裝。所以我們著重講一下在windows環境下的安裝方式。安裝完node 包括npm 後,我們到programm fi...

windows下python twisted庫安裝

方式 一 命令列中執行easy instal twisted 提示 unable to find vcvarsall.bat 的錯誤,這是因為twisted源 安裝方式,需要c編譯環境,如果有安裝vc開發環境就可以通過 plain view plain copy 首先安裝mingw,在mingw的安...

Windows下chromedriver安裝與配置

chromedriver 谷歌瀏覽器驅動 谷歌瀏覽器 幫助 關於 chrome 注意 chromedriver 的版本要和 chrome 瀏覽器相對應,不然很多功能不能用 從selenium中匯入webdriver from selenium import webdriver 建立乙個瀏覽器驅動 e...