Ես ներկայումս փորձում եմ ներառել libtool գրադարան մեկ այլ նախագծից, որը գտնվում է իմ ընթացիկ նախագծի կողքին: Ես կարող եմ ստուգել գրադարանը կարգավորել օգտագործելով
LDFLAGS="$LDFLAGS -L$top_srcdir../otherproject/libotherproject/.libs/"
AC_CHECK_LIB([otherproject],[init],[],[AC_MSG_ERROR([No otherproject libary found.])])
իմ configure.ac-ում: Առայժմ ամեն ինչ լավ է։ Բայց եթե ես կառուցում եմ նախագիծը՝ օգտագործելով make-ը, ես սխալ եմ ստանում libtool-ից, մինչ այն գտնվում է ընթացիկնախագծում/աղբյուրներում/:
../libtool: line 5986: cd: ../otherproject/libotherproject/.libs/: No such file or directory
libtool: link: cannot determine absolute directory name of `../otherproject/libotherproject/.libs/'
Ինչը տրամաբանական է, քանի որ դա պետք է լինի ../../otherproject/libotherproject/.libs/
-ի նման: Ես փորձեցի դա կարգաբերել և գտա, որ եթե օգտագործվում է
AC_MSG_NOTICE([Top src dir is: $top_srcdir])
configure.ac-ում, config script-ն ինձ ասում է
configure: Top src dir is:
միայն. Նույն վարքագիծը $abs_top_srcdir-ի համար: $srcdir-ը «»: միշտ. Ես մի փոքր փորփրեցի փաստաթղթերը և պարզեցի, որ $builddir-ը միշտ պետք է լինի «.», բայց նաև դատարկ է իմ դեպքում: Սա վրիպակ է: Միգուցե մոռացել եմ զանգահարել AC_init_anything
: Շնորհակալություն ձեր օգնության համար:
ac_srcdir
-ի հետ: Խնդիրն այն է, որ Autoconf ձեռնարկն ասում է օգտագործելac_srcdir
; տես Autoconf ձեռնարկը, Կազմաձեւման ֆայլեր | 4.6 Կազմաձևման գործողություններ: Կա՞ պատկերացում, թե ինչու է ձեռնարկում ասվում օգտագործելac_srcdir
-ը, որը դատարկ է: (top_builddir
-ը նույնպես դատարկ է, բայց ես չեմ տեսնում այն փաստագրված ձեռնարկում): 11.04.2019