Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z lekcją "Obsługa plików"

Ostatnio zmodyfikowano 2010-09-29 13:55
Autor Wiadomość
malan
» 2010-09-22 22:16:32
Pobierz może tą wersję: [Download Code::Blocks 8.02, SourceForge.net] i zobacz, czy zadziała.
P-22297
Elaine
» 2010-09-22 22:41:04
Twój program i tak nie będzie działał na komputerze bez zainstalowanego mingwa.
Zależy od tego, skąd i kiedy on tego MinGWa wziął - AFAIR distro Stephana Lavaveja ciągle ma tylko biblioteki statyczne, TDM od niedawna (chyba od GCC 4.5.0) ma domyślnie biblioteki dynamiczne + statyczne jako opcja, oficjalna wersja chyba podobnie, tylko dynamiczne są domyślne już od jakiegoś czasu.

@OP: sprawdzić w dokumentacji, jak statycznie zlinkować libgcc i libstdc++.
P-22298
Elejdor
Temat założony przez niniejszego użytkownika
» 2010-09-23 20:56:15
Zrobiłem reinstall code blocks i nic się nie zmieniło.
Iname jestem początkujący i nie wiem o co Ci chodzi. Proszę wytłumacz mi jak krowie na granicy. Może wystarczy ściągnąć inną wersję mingw?
P-22318
DejaVu
» 2010-09-23 21:07:32
Jeżeli chodzi Ci o to, że program nie działa na innych komputerach to wynika to z faktu, że masz linkowanie dynamiczne i należy ustawić flagę dla kompilatora by linkowanie było statyczne. Taką opcję da się ustawić w opcjach kompilatora w dowolnym środowisku programowania z tym, że trzeba doczytać jak ta opcja się zwie i gdzie ją wpisać. Szukaj w googlach "MinGW linkowanie statyczne Windows", czy coś w ten deseń. Szybko powinieneś trafić na odpowiedź.
P-22322
Elejdor
Temat założony przez niniejszego użytkownika
» 2010-09-24 13:44:11
Szukałem z pół godziny i nie znalazłem niczego co by mi pomogło. Nie mam pojęcia jak linkować biblioteki statycznie. Na większości forach po prostu pisali "Zalinkuj program statycznie." i każdy wiedział o co chodzi.
P-22330
DejaVu
» 2010-09-24 14:32:10
http://utak3r.pl/index.php?/archives/101-GCC_statycznie_linkowana_biblioteka_standardowa_C++.html

Stworzyłem w katalogu ze źródłami symlink do statycznej wersji biblioteki standardowej, prawidłowy plik wskazał mi sam gcc:

ln -s `arm-unknown-linux-uclibcgnueabi-g++ -print-file-name=libstdc++.a`


teraz, mając w katalogu źródeł taki symlink, w Makefile dałem:

LDFLAGS = -v -static-libgcc -L.

/edit:
Inne źródło:
g++ -static -I../test1/include -L../test1/lib ./src/main.cpp ../test1/lib/libtest1.a -o ./build/MyApp
P-22331
Elejdor
Temat założony przez niniejszego użytkownika
» 2010-09-24 16:32:39
Stworzyłem w katalogu ze źródłami symlink do statycznej wersji biblioteki standardowej, prawidłowy plik wskazał mi sam gcc:

ln -s `arm-unknown-linux-uclibcgnueabi-g++ -print-file-name=libstdc++.a`


teraz, mając w katalogu źródeł taki symlink, w Makefile dałem:

LDFLAGS = -v -static-libgcc -L.

Co to jest symlink? Jak "dać coś" w makefile (o ile coś takiego na winie istnieje)? Gdzie są źródła? Jak zrobić żeby gcc wyświetlił gdzieś "prawilowy plik"? Co zrobić gdy już będę miał ten blik?

PS: Korzystam z windowsowej wersji code::blocks.
P-22336
DejaVu
» 2010-09-24 16:54:41
Cóż... będę w domu to Ci zapodam wierszem, którego używałem do kompilacji statycznej pod linuxem i FreeBSD.

PS. Akurat zainteresowałeś się nie tą linijką co trzeba z posta, którego napisałem.
P-22337
1 2 « 3 » 4
Poprzednia strona Strona 3 z 4 Następna strona