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 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 并删除了它的目录。我仍然看到这个问题。

4

2 回答 2

0

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

于 2012-07-02T09:59:22.890 回答
0

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

于 2012-07-02T10:09:23.823 回答