2010-10-11 55 views
0

我正在使用cygwin,當我用gcc編譯hello world時,編譯器不明白如何使用std命名空間(其中一些命名空間不存在),但是當我編譯與g ++是的,他們的工作。但是,當我點擊helloworld.exe它說,cygwin1.dll丟失。當用g ++編譯C++時丟失了cygwin1.dll

有什麼可以做的嗎?

回答

1

「gcc」是C編譯器 - 命名空間不是C語言的一部分。 「g ++」是C++編譯器,所以它會理解命名空間。

嘗試no-cygwin選項在編譯生成依賴於mingw運行時而不是cygwin運行時(其中AFAIR引入了許可問題)的可執行文件時。

+1

無論如何,我發現這一點。 http://stackoverflow.com/questions/338406/cygwin1-dll-not-found-when-running-a-program-written-in-c-how-can-i-make-windo謝謝愚蠢的我沒有打開gcc網站在發佈任何東西之前:| – 2010-10-11 00:32:27

0

cygwin1.dll錯誤可能表示註冊表問題,病毒或惡意軟件。

請勿下載cygwin1.dll。它可能是一個不適當的版本,或者只是不安全。嘗試重新安裝cygwin(或嘗試mingw32)。