安装cygwin后,在Windows中链接gcc库

时间:2012-06-28 11:27:31

标签: c compiler-errors cygwin

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 2003中安装cygwin后无法使用gcc编译C程序 在安装cygwin之前,我能够成功编译 我正在从命令提示符编译代码,而不是从cygwin终端编译代码 使用的gcc来自Dev-Cpp发行版。 问题是因为-L指定的库目录和-l指定的单个库之间的目录分隔符('/'),安装了cygwin后由gcc使用?

如果我尝试在cygwin终端中编译,我会收到未知的函数调用错误,尽管函数是在包含的头文件中定义的。

编辑:

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

gcc不是来自cygwin。 我已经卸载了cygwin并删除了它的目录。我仍然看到这个问题。

2 个答案:

答案 0 :(得分:0)

尝试将正确的bin目录添加到Environment变量的路径中。 像这样: C:\ soft \ cygwin \ bin

答案 1 :(得分:0)

似乎Cygwin修改了默认环境,将自己添加到%PATH%,所以你实际上是在调用cygwin的gcc,检查一下。