Article View: pl.comp.lang.c
Article #309848Rozwój złożonych aplikacji/systemów w C/C++ w Linux-ie
From: 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
Technical Details
Message-ID:
<LIFsE.28938$Df6.26698@fx30.fr7>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder7.news.weretis.net!news.dns-netz.com!news.freedyn.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!85.12.16.70.MISMATCH!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!fx30.fr7.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder7.news.weretis.net!news.dns-netz.com!news.freedyn.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!85.12.16.70.MISMATCH!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!fx30.fr7.POSTED!not-for-mail Newsgroups: pl.comp.lang.c X-Mozilla-News-Host: snews://newshosting.com:563 From: Szyk Cech <szykcech@spoko.pl> Subject: Rozwój złożonych aplikacji/systemów w C/C++ w Linux-ie User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 Lines: 75 Message-ID: <LIFsE.28938$Df6.26698@fx30.fr7> X-Complaints-To: abuse(at)newshosting.com NNTP-Posting-Date: Sun, 14 Apr 2019 12:29:31 UTC Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com Date: Sun, 14 Apr 2019 14:29:26 +0200 X-Received-Bytes: 4473 X-Received-Body-CRC: 3675073057 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit