j-23 Napisano Listopad 2, 2007 Zgłoszenie Share Napisano Listopad 2, 2007 Witam. Mam program pod Windows wraz z jego kodem źródłowy. Znajdują sie tam różne pliki z roserzeniami *.cpp, *.h, *.sh, jest plik 'configure', i dwa pliki Makefile.am i Makefile.in. niestety nie ma żadnej dokumentacji. Jak skompilować blik binarny śmigający pod linuksem? Nigdy czegoś takiego nie robiłem i nie mam pojęcia jak się do tego zabrać. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
SeeM Napisano Listopad 2, 2007 Zgłoszenie Share Napisano Listopad 2, 2007 ./configure --help doradzi; oczywiście wczesniej musisz jakoś zainstalować GCC, najlepiej skorzystać z cygwin Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
j-23 Napisano Listopad 2, 2007 Autor Zgłoszenie Share Napisano Listopad 2, 2007 ./configure --help doradzi; oczywiście wczesniej musisz jakoś zainstalować GCC, najlepiej skorzystać z cygwin Może niedokładnie się wyraziłem. Chcę to wszystko robić po linuksem. Nie mam Windows. ./configure --help daje: bash: ./configure: /bin/sh^M: bad interpreter: Nie ma takiego pliku ani katalogu Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@WalDo Napisano Listopad 2, 2007 Zgłoszenie Share Napisano Listopad 2, 2007 Nie jestem programerem, ale wątpię, żeby w prosty sposób można było przekompilować program pod Win na Linuksie. Tzn. tak, żeby program pisany pod Win chodził na Linuksie. Szczególnie jeśli program nie jest konsolowy tylko korzysta z okienek. Druga sprawa to koniec linii w linuksie i Windows (DOS) - w linuksie to heksadecymalnie 0x0a, w windows/DOS to sekwencja 0x0a 0x0d. "/bin/sh^M" wskazuje, że na początek wszystkie źródła należy przekonwertować na format uniksowy (dos2unix), bo DOSowy/Windowsowy koniec linii widać właśnie jako znak "^M" (0x0d) pod uniksem/linuksem. A jeśli chcesz przekompilować pod Linuksem jakiś program tak, żeby potem działał pod Windows to... nie wiem Pewnie są jakieś opcje. Też bym się chętnie dowiedział jak to zrobić Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
j-23 Napisano Listopad 2, 2007 Autor Zgłoszenie Share Napisano Listopad 2, 2007 Chyba ciągle źle tłumaczę. 1. mam program *.exe pod Windows do którego dołączono źródła. 2. chcę stworzyć plik binarny działający w (_linuxie_ → Linuksie) ORT. 3. Nie mam Windows więc musiałoby wszystko być wykonane w linuksie. 4. Program nie jest okienkowy. W Windows działa w konsoli, bez graficznych fajerwerków. To coś w rodzaju serwera. Znalazłem nawet taki skrypt, ale tylko na podoby program i robione było w Debianie. Nie zadziałało. Myślałem, że jest jakaś metoda wykonania czegoś takiego. Co do przeróbki plików z końcem linii w formacie DOS podejrzewałem coś takiego. Po przeróbce i uruchomieniu ./configure dostaję coś takiego: configure: error: cannot find install-sh or install.sh in config ./config Dodam jeszcze, że program działa z WINE, ale zależy mi oszczędzaniu zasobów, a WINE niestety trochę mi ich pożera. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
jjj Napisano Listopad 2, 2007 Zgłoszenie Share Napisano Listopad 2, 2007 Może się dać, ale nie musi. Żeby się powiodło, program nie może korzystać z bibliotek specyficznych dla systemu ani z założeń architektury systemu. Nie muszą to być biblioteki graficzne, ale np. wywołania systemowego API. Założenia architektury -- myślę m.in. o dostępie do usług albo o wkompilowanych na sztywno ścieżkach dostępu. Jeżeli do źródeł dołączono configure, który wywołuje /bin/sh, to byłbym dobrej myśli. Konwersję \cr\lf na \lf trzeba, jak mówił WalDo, przeprowadzić, bo na razie system nie rozumie Twojego skryptu. A potem próbować. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Lukasz69 Napisano Listopad 3, 2007 Zgłoszenie Share Napisano Listopad 3, 2007 Jak juz przedmowcy pisali taka kompilacja to wrozenie z fusow. Jesli program trzyma sie standardu C/C++ to powinno dac sie przekompilowac ale bez mozliwosci podgladu kodu chyba nikt nie bedzie w stanie pomoc. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
j-23 Napisano Listopad 3, 2007 Autor Zgłoszenie Share Napisano Listopad 3, 2007 No dobra. Przerobiłem plik 'configure' na unix (dos2unix) Zmieniłen na wykonywalny i odpalam ./configure dostaję: 'configure: error: cannot find install-sh or install.sh in config ./config' Cały config.log: This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by configure, which was generated by GNU Autoconf 2.59. Invocation command line was $ ./configure ## --------- ## ## Platform. ## ## --------- ## hostname = localhost.localdomain uname -m = i686 uname -r = 2.6.23.1-10.fc7 uname -s = Linux uname -v = #1 SMP Fri Oct 19 15:39:08 EDT 2007 /usr/bin/uname -p = unknown /bin/uname -X = unknown /bin/arch = i686 /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /usr/kerberos/bin PATH: /usr/local/bin PATH: /usr/bin PATH: /bin PATH: /home/j-23/bin ## ----------- ## ## Core tests. ## ## ----------- ## configure:1355: error: cannot find install-sh or install.sh in config ./config ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_env_CC_set= ac_cv_env_CC_value= ac_cv_env_CFLAGS_set= ac_cv_env_CFLAGS_value= ac_cv_env_CPPFLAGS_set= ac_cv_env_CPPFLAGS_value= ac_cv_env_CXXCPP_set= ac_cv_env_CXXCPP_value= ac_cv_env_CXXFLAGS_set= ac_cv_env_CXXFLAGS_value= ac_cv_env_CXX_set= ac_cv_env_CXX_value= ac_cv_env_LDFLAGS_set= ac_cv_env_LDFLAGS_value= ac_cv_env_LUA50_CFLAGS_set= ac_cv_env_LUA50_CFLAGS_value= ac_cv_env_LUA50_LIBS_set= ac_cv_env_LUA50_LIBS_value= ac_cv_env_PKG_CONFIG_set= ac_cv_env_PKG_CONFIG_value= ac_cv_env_build_alias_set= ac_cv_env_build_alias_value= ac_cv_env_host_alias_set= ac_cv_env_host_alias_value= ac_cv_env_target_alias_set= ac_cv_env_target_alias_value= ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL='' AUTOCONF='' AUTOHEADER='' AUTOMAKE='' BOOST_LIBS='' CC='' CFLAGS='' CPPFLAGS='' CXX='' CXXCPP='' CXXFLAGS='' DEBUG='' DEFS='' ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='' EXEEXT='' INSTALL_DATA='' INSTALL_PROGRAM='' INSTALL_SCRIPT='' LDFLAGS='' LIBOBJS='' LIBS='' LTLIBOBJS='' LUA50_CFLAGS='' LUA50_LIBS='' MAKEINFO='' MYSQL_FLAGS='' MYSQL_LIBS='' OBJEXT='' PACKAGE='' PACKAGE_BUGREPORT='' PACKAGE_NAME='' PACKAGE_STRING='' PACKAGE_TARNAME='' PACKAGE_VERSION='' PATH_SEPARATOR=':' PKG_CONFIG='' SET_MAKE='' SHELL='/bin/sh' USE_MYSQL_FALSE='' USE_MYSQL_TRUE='' VERSION='' XML2_CONFIG='' XML_CPPFLAGS='' XML_LIBS='' ac_ct_CC='' ac_ct_CXX='' ac_pt_PKG_CONFIG='' bindir='${exec_prefix}/bin' build='' build_alias='' build_cpu='' build_os='' build_vendor='' datadir='${prefix}/share' exec_prefix='NONE' host='' host_alias='' host_cpu='' host_os='' host_vendor='' includedir='${prefix}/include' infodir='${prefix}/info' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localstatedir='${prefix}/var' mandir='${prefix}/man' oldincludedir='/usr/include' prefix='NONE' program_transform_name='s,x,x,' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sysconfdir='${prefix}/etc' target='' target_alias='' target_cpu='' target_os='' target_vendor='' ## ----------- ## ## confdefs.h. ## ## ----------- ## #define PACKAGE_BUGREPORT "" #define PACKAGE_NAME "" #define PACKAGE_STRING "" #define PACKAGE_TARNAME "" #define PACKAGE_VERSION "" configure: exit 1 Nigdzie nie ma żadnego z plików install-sh, install.sh ani ./config Jeśli chciałby ktoś zerknąć na źródła to chętnie podeślę (2,1 MB) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się