Thread View: pl.comp.lang.c
2 messages
2 total messages
Started by Szyk Cech
Sun, 14 Apr 2019 12:29
Rozwój złożonych aplikacji/systemów w C/C++ w Linux-ie
Author: Szyk Cech
Date: Sun, 14 Apr 2019 12:29
Date: Sun, 14 Apr 2019 12:29
75 lines
4689 bytes
4689 bytes
Witam Rozwijam własne projekty pisane w C++ z Qt. Te projekty robią się coraz bardziej złożone - już nie jest to jeden exe ale również inne biblioteki publikowane na Lgpl do tego moje własne biblioteki (w tym pluginy). [MOJE PODEJŚCIE] Ja te projekty do tej pory rozwijam w ten sposób, że mam katalog ze źródłami. W nim podkatalogi z aplikacjami (exe) oraz podkatalog Libs z moimi bibliotekami i z pod katalogiem 3rdparty w którym trzymam biblioteki zewnętrzne (na Lgpl). Hierarchia przykładowego projektu Textprofan2 wygląda tak: ├── Src │ ├── Libs │ │ ├── 3rdparty │ │ │ ├── Hunspell │ │ │ ├── KSyntaxHighlighter │ │ │ │ ├── extra-cmake-modules │ │ │ │ └── syntax-highlighting │ │ │ └── qtcsv-1.5 │ │ ├── Common │ │ ├── Editor │ │ ├── Message │ │ └── TextToSpeechConfig │ └── Textprofan │ ├── ColorSchemes │ ├── Csv │ ├── Images │ ├── Src │ │ ├── Models │ │ ├── Widgets │ │ └── Windows │ ├── Translations │ └── Txt W plikach projektów qmake i cmake mam dodane wpisy gwarantujące umieszczanie plików wynikowych w katalogu Texprofan2-work (exe lądują w tym podkatalogu, natomiast biblioteki w podkatalogu Libs). Wtedy uruchamiam te projekty w środowisku z odpowiednią wartością zmiennej LD_LIBRARY_PATH. Do uruchamiania programu bez środowiska stosuję skrypt który ustawia LD_LIBRARY_PATH. I to działa. Jednak pojawiły się problemy. [PROBLEMY Z MOIM PODEJŚCIEM] Problem się pojawia wtedy gdy chcę robić paczki (snap, flatpack czy appimage - tak by nie ograniczać się do pojedynczych distro, których nowe wersje wychodzą co chwilę - co potencjalnie rodzi nowe problemy). Problem pojawia się wtedy, gdy ja w moich skryptach budowania mam podane katalogi docelowe - co jest nie dopuszczalne dla systemów budowania. Dla nich dopuszczalne i nawet oczekiwane są katalogi instalacyjne (np /usr/bin czy /usr/local/bin czy /opt/bin/ - nigdy nie wiem gdzie te moje programy powinny lądować w przypadku budowania paczek ani w przypadku instalacji bez paczek). [ALTERNATYWNE PODEJŚCIE 1] Można by po każdej zmianie w programie budować paczkę i instalować program od nowa (z zachowaniem ustawień). Tak wyglądała moja praca gdy programowałem aplikacje na Android-a (zawsze trzeba było budować do początku całą paczkę apk). Trwa to wieki całe - więc chyba nie tędy droga... [ALTERNATYWNE PODEJŚCIE 2] Można by budować program i go instalować do systemu nadpisując pliki zainstalowane wcześniej. Jednak to nie jest możliwe w przypadku wspomnianych paczek gdyż one uruchamiają programy w piaskownicy. Stąd moje pytanie końcowe: Jak są rozwijane złożone projekty takie jak np. Kde, Libre Office czy Firefox? W sensie tego jak budują i uruchamiają te swoje programy. Czy mają wierną kopię środowiska uruchomieniowego i tam kopiują te pliki i je uruchamiają? Czy może nadpisują zainstalowane programy w systemie? Czy może za każdym razem budują całe pakiety i instalują je normalnie - tylko jak wtedy uruchamiać debuger czy profiler?!? z góry dzięki i pozdro Szyk Cech
Re: Rozwój złożonych aplikacji/systemów w C/C++ w Linux-ie
Author: Szyk Cech
Date: Sun, 14 Apr 2019 14:18
Date: Sun, 14 Apr 2019 14:18
11 lines
1618 bytes
1618 bytes
W dniu 14.04.2019 o 14:29, Szyk Cech pisze: > Problem pojawia się wtedy, gdy ja w moich skryptach budowania mam podane > katalogi docelowe - co jest nie dopuszczalne dla systemów budowania PACZEK (zapomniałem dodać tego słówka) > . Dla > nich dopuszczalne i nawet oczekiwane są katalogi instalacyjne (np > /usr/bin czy /usr/local/bin czy /opt/bin/ - nigdy nie wiem gdzie te moje > programy powinny lądować w przypadku budowania paczek ani w przypadku > instalacji bez paczek).
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads