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

Cygwinがデフォルト環境を変更し、それ自体をに追加した%PATH%ようです。実際にcygwinのgccを呼び出しているので、それを確認してください。

于 2012-07-02T10:09:23.823 に答える
0

環境変数のパスに正しい bin ディレクトリを追加してみてください。このようなもの: C:\soft\cygwin\bin

于 2012-07-02T09:59:22.890 に答える