Ich habe die folgenden Ordner auf meinem git Repo - https://github.com/ryu577/base/tree/master/numerical/c/NumericalRecipiesCode/libMake-Datei arbeitet mit Cygwin unter Windows aber ubuntu nicht
Auf meinem Windows-Rechner, die Cygwin installiert hat, kann ich laufen in diesem Verzeichnis machen, die den Befehl auslöst -
gcc -o ../bin/lib/tst_libfns ../obj/nrutil.o ../obj/fileio.o ../obj/tst_libfns.o -I ../include -lm
Dadurch werden die Dateien tst_libfns.o und fileio.o in das Verzeichnis obj verschoben.
Jetzt zog ich dieses Repository in meine Ubuntu-Maschine und versuchte das Gleiche. Wenn derselbe Befehl dort jedoch generiert wird, gibt es mir den folgenden Fehler:
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
Bin ich etwas offensichtlich fehlt?
Sie können jetzt Ihre eigene Antwort akzeptieren, da es wahrscheinlich Ihr Problem gelöst hat ... – jdarthenay
Definitiv sind sie inkompatibel. Sie können keine Mac-Programme unter Windows, Windows-Programme unter Linux, Linux-Programme auf Mac usw. ausführen (zumindest nicht ohne spezielle Software, die auf "gefälschte" Kompatibilität installiert ist). Außerdem sollten Sie niemals Objektdateien und Binärdateien wie Quellcode an Ihr Quellcodeverwaltungssystem übergeben: Quellcodeverwaltungssysteme sind für den Quellcode. – MadScientist