-1

gccでコンパイルする際の「c」言語に問題があります。

  1. 私はWindowsXP内で(gcc-core、gcc-g ++、gdb、makeおよびその他のサポートパッケージ)で「Cygwin」を使用しています。
  2. このパス「C:\Cygwin\」に「Cygwin」をインストールしました。
  3. 私のホームディレクトリ: "C:\ Cygwin \ home \ Bhanu Pratap"
  4. 「C:\ Cygwin \ home\BhanuPratap」の下にある作業ディレクトリ内に「cs50.h」と「cs50.c」をコピーしました。

これは私のhello.cファイル内のコードです

#include "cs50.h"
#include <stdio.h>
int
main(void){
  string name = "David";
  printf("O hai, %s!\n", name);
}

これはbash(Cygwin)の下でのコマンドです

gcc -o hello hello.c -lc50

このエラーが発生します:

/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/id: cannot find -lcs50
collect2: Id returned 1 exit status

私が間違っているところを助けてください?

4

4 に答える 4

2

私もcs50ライブラリファイルを使用していますが、使用したコードは次のとおりです。

#include "cs50.h"
#include <stdio.h>

また、このコマンド:

gcc -o hello hello.c -lc50

'<>'とコマンドの最後の部分の代わりに引用符を使用した理由を疑問に思いました-lc50

通常、次のように使用します。

#include <cs50.h>
#include <stdio.h>

-lcs50

これが\m/に役立つことを願っています

于 2013-03-22T11:16:44.347 に答える
1

を使用できるようにするには、最初にそのソースコード()からその-lcs50ライブラリ()を構築する必要があります。cs50cs50.c

または、次のようにすることもできます。

gcc -o hello hello.c cs50.c

cs50.c他の依存関係がないと仮定します。

于 2011-10-01T13:25:01.023 に答える
1

CS50 edX コースの Windows XP で DJGPP (gcc) コンパイラを使用しています。

私は答えからさまざまな解決策を試しましたが、どれも役に立ちませんでした(ただし、マットは私に手がかりを与えてくれました)。

ここに解決策があります:

1)コンパイルしたい .c ソースファイルがあるディレクトリにコピーしcs50.hます。cs50.clibrary50-c-5.zip

2) .c ソース ファイルに次のように入力します。#include "cs50.h"

3) .c ソース ファイルをコンパイルします (たとえば、cmd.exe プロンプトで):gcc custom.c -o custom cs50.c

cmd.exe" `C:\WINDOWS\system32 " フォルダーから (.c ファイルを含む) 作業フォルダーにコピーできます。この場合、コマンド プロンプト ウィンドウを起動するときに、作業ファイルに移動するためにディレクトリを変更する必要はありません。

于 2014-11-11T21:37:14.413 に答える
0

cs50.h ライブラリのインストールに関するガイダンスについては、リンクhttp://manual.cs50.netを参照してください。ダウンロードしてインストールできる cs50 ライブラリのコンパイル済みバージョンがあります。試してみる価値があります。彼らは gcc を使用してライブラリをコンパイルし、clang に切り替え始めました。clang は、64 ビット互換のライブラリも生成できるため、将来的にはより便利になります。

于 2013-03-07T15:05:24.450 に答える