2012-06-28 181 views
0
C:\slite\1.1>gcc -c ".\src\SDR.c" -o ".\obj\SDR.o" -I".\inc" 
C:\slite\1.1>gcc ".\obj\SDR.o" -o ".\exe\SDR.exe" -L".\lib" -lsres -lshis 
.\lib/sres.dll: file not recognized: File format not recognized 
collect2: ld returned 1 exit status 

連接後,在Windows中的問題無法編譯C程序安裝了cygwin之前,我是能夠成功編譯。
我從命令提示符編譯代碼,而不是從cygwin終端。
正在使用的gcc來自Dev-Cpp發行版。 問題是由於-L指定的庫目錄與-l指定的個別庫之間的目錄分隔符('/'),cygwin安裝後由gcc使用?GCC庫Cygwin安裝

如果我嘗試在cygwin終端中編譯,我收到未知的函數調用錯誤,儘管函數是在頭文件中定義的。

編輯:

C:\srmlite\x7.5.0.146-1600>where gcc 
C:\Dev-Cpp\bin\gcc.exe 

gcc的不cygwin的版本。 我已經卸載了cygwin並刪除了它的目錄。我仍然看到這個問題。

回答

0

嘗試將正確的bin目錄添加到環境變量的路徑中。 事情是這樣的:C:\軟\ cygwin的\ BIN

0

似乎Cygwin的修改默認的環境,加上本身%PATH%,所以你實際調用Cygwin的海灣合作委員會,檢查出來。

+0

我檢查過哪個gcc正在使用'where'。請參閱編輯。 –

+0

嘗試清理之前的目錄? –