cygwin移植linux程序到windows及在eclipse中使用cygwin的常見問題 收藏
cygwin使用FAQ 1.許多機(jī)器上跑不起來(lái),可能由于應(yīng)用程序的沖突造成,對(duì)api進(jìn)行hook的軟件很可能跟cygwin有沖突。
比如殺毒軟件,google desktop search,反rootkit的工具等等,這些沖突常會(huì)導(dǎo)致如下的fork error: bash 3252 fork_parent: child 3260 died waiting for longjmp before initialization bash: fork: Bad file descriptor 2.把cygwin下的bin目錄添加到PATH后,直接運(yùn)行g(shù)++, gcc, 顯示“訪問被拒絕” (access denied), 檢查g++.exe, gcc.exe是否只有1k大小,如果是,那么文件是符號(hào)鏈接,那么把文件重命名一下(備份)。 然后把g++-3.exe(或者g++-4.exe)拷貝一份,重命名為g++.exe。 把gcc-3.exe拷貝一份,重命名為gcc.exe。 Eclipse中使用cygwin的常見問題 3.eclipse中使用cygwin,cygwin需要安裝如下軟件包:
gcc, gcc-core,gcc-g++, gcc-mingw-core, gcc-mingw-g++, make , gdb, binutils 4.如果是用cygwin到2010年1月為止的最新版本1.7.1, 如果cygwin沒有裝在c:\cygwin,
那么eclipse 3.5無(wú)法自動(dòng)識(shí)別cygwin作為toolchain,解決的一個(gè)簡(jiǎn)單辦法是把cygwin目錄拷貝一份到c:\。 5.配置Run Configuration,選擇應(yīng)用程序時(shí),顯示錯(cuò)誤“Program is not a Recognized Executable”的解決方法,
在“項(xiàng)目屬性”中, 配置 "C/C++ Build" -> "Settings" -> (on the right) "Binary Parsers" 。
在 "Binary parser:"中勾選PE Windows Parser" , 確保其他選項(xiàng)都沒有勾選就ok了。 6. eclipse中調(diào)試時(shí),由于GDB使用的unix格式的路徑,而eclipse使用的是windows路徑,導(dǎo)致找不到匹配的代碼,
需要手工設(shè)置: In Eclipse in Preferences->C/C++->Debug->"Common Source Lookup Path" add new "Path Mapping". 把linux的路徑映射到windows的路徑,比如/cygwin/e映射成E:\ 不過最后運(yùn)行起來(lái),eclipse調(diào)試的時(shí)候,string的文字值不能直觀地顯示在variable窗口中。 windows中使用cygwin和elipse開發(fā)c++,簡(jiǎn)直是雞肋。我試試用netbeans吧。
本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/davidullua/archive/2010/01/28/5266861.aspx
|
|