Kdevelopban csomagkészítés, közreadás

Fórumok

Kdevelopban csomagkészítés, közreadás

Hozzászólások

Sziasztok,

Kdevelop 3.0.3-at használok és szeretnék megismerkedni a Kdevelop nyújtotta csomagkészítő szolgáltatással, ugyanis nem úgy működik ahogy azt várná az ember.

Van egy kész projektem amit szeretnék publikálni.

1. Kiválasztom az "Eszközök" menüpontból a "Projekt közreadása"-t.
2. Látok ott magam előtt egy "Forrásarchívum létrehozása" gombot, hát rákattintok mindenféle módosítás nélkül.
3. Jéé létrejött a projektem gyökér könyvtárában egy "projektnév-0.1.tar.gz". Belenézek, örülök, hogy van ott configure, make, a források meg minden.
4. Kicsomagolom a ~/tmp könyvtárba és megpróbálom a jólbevált parncsokat futtatni, úgy mint ./configure, majd jön a make. Na és itt kezdem eldobni magam, hogy "undefined reference" áradattal leáll a make.
Gyakorlatilag arról van szó, hogy hiába adtam én meg minden LDFLAGS, CFLAGS, CPPFLAGS-t a "Projekt beállításaiban" ez valahogy elvarázsolódott a közreadás során.

Aki publikált már saját projektet vagy legalább tudja miért van ez és hogyan lehet megoldani akkor kérem jelezze!

Időközben vagy 150 topik végigbogarászása közepette na és persze a Kdevelop oldalán a FAQ-t olvasgatva a következő (szvsz nem épp inteligens :evil: ) megoldásra leltem:

I'm using additional headers and libs for my KDE/QT project. Putting
-I/usr/include/foo in the compiler options and -L/usr/lib/foo to the
linker options won't distribute the settings into the tarball.
What do I have to do?

This is the most difficult part to do it the right way.
An easy, but not correct solution would be to add to the configure.in(.in):

all_includes="$all_includes -I/usr/include/foo"
all_libraries="$all_libraries -L/usr/lib/foo"

[the best place for that is before the lines:
AC_ARG_PROGRAM
AC_OUTPUT( ..... )
at the end of the file.]

Problems here:
- Who can guarantee that the includes would always be in
/usr/include/foo... maybe on some systems it could be in /usr/local/foo/include
(and maybe the libs would be there in /usr/local/foo/lib)?? <<NA IGEN EZ EGY JÓ KÉRDÉS >>
- Maybe I haven't installed the foo-stuff so building would fail, but it would be
better if configure did already fail with a more helpful message.

So to make it right you would have to add a macro function to
configure.in(.in), which do certain tests and searches for an installed "foo".

If you want to do so, we can give you here only a hint... try to
understand the acinclude.m4.in or create a KDE-normal-ogl project,
there you find a file called qgl.m4, which will be concatenated to
acinclude.m4 (see "Makefile.dist"). This shows you an extensive example
to search for QT-OpenGL-Lib, you have to rewrite it for your problem.

Maybe you have luck and find already a solution for your problem inside
acinclude.m4.in, so you could use an already created function.

http://www.kdevelop.org/index.html?filename=3.0/faq.html#23

Sziasztok!

Ahogy latom nem csak en kinlodok a forrascsomag eloallitasaval...
Szoval, kdevelop 3.1.2-t hasznalok es szeretnem az egyik projektemet kozzetenni a kozeljovoben. Elnezve a 3.1.2-t (lehet a fent leirtak miatt) kiszedtek az Eszkozok->Forrascsomag letrehozasa opciot/plugint. Szeretnem kerdezni, hogy milyen egyszeru modszerrel lehetne eloallitani a projektembol vmi tar.gz-be csomagolt forraskod-csomagot, minel kevesebb fajdalommal?