I私のGitのレポの次のフォルダがある - cygwinのインストールされている私のWindowsマシンにhttps://github.com/ryu577/base/tree/master/numerical/c/NumericalRecipiesCode/libメイクファイルは、Windows上のcygwinで動作ではなく、Ubuntuの
が、私はコマンドをトリガし、そのディレクトリでmakeを実行することができます -
gcc -o ../bin/lib/tst_libfns ../obj/nrutil.o ../obj/fileio.o ../obj/tst_libfns.o -I ../include -lm
これにより、tst_libfns.oとfileio.oがobjディレクトリに格納されます。
今、このリポジトリを私のubuntuマシンにプルして、同じことを試しました。しかし、同じコマンドがそこに生成されると、次のエラーが表示されます。
gcc -o ../bin/lib/tst_libfns ../obj/nrutil.o ../obj/fileio.o ../obj/tst_libfns.o -I../include -lm
../obj/fileio.o:fileio.c:(.text+0x52): undefined reference to `__getreent'
../obj/tst_libfns.o:tst_libfns.c:(.text+0x10): undefined reference to `__main'
collect2: error: ld returned 1 exit status
make: *** [../bin/lib/tst_libfns] Error 1
明らかなものがありませんか?
おそらくあなたの問題を解決したので、あなた自身の答えを受け入れることができます... – jdarthenay
確かに彼らは互換性がありません。 WindowsでMacプログラム、LinuxでWindowsプログラム、MacでLinuxプログラムなどを実行することはできません。また、gitのようなソースコード管理システムにオブジェクトファイルやバイナリをコミットしないでください。ソースコード管理システムはソースコード用です。 – MadScientist