2

make distcheck を実行すると、lib1 が必要なため、1 つのライブラリ (この例では lib2) がインストールされません。

ライブラリのインストール順序を強制する方法はありますか?

Makefile.am:

lib_LTLIBRARIES = libTwo.la libOne.la

libOne_la_SOURCES = lib/one/example.cpp \
    lib/one/example.h 

libTwo_la_SOURCES = lib/two/Example2.cpp \
    lib/two/Example2.h 

libTwo_la_CPPFLAGS = -I$(srcdir)/lib/one
libTwo_la_LIBADD = libOne.la

私は使っている:

  • レッドハット エンタープライズ サーバー 5.5
  • automake (GNU automake) 1.9.6

*編集: * make distcheck の出力で私が見ているものは次のとおりです。

/usr/bin/ld: cannot find -lOne
collect2: ld returned 1 exit status
libtool: install: error: relink `libTwo.la' with the above command before installing it
/bin/sh ./libtool --mode=install /usr/bin/install -c  'libOne.la' '/tmp/xx-x-yy-21346    /home/foo/commonlib-1.0/_inst/lib/libOne.la'
4

1 に答える 1

2

交換してみてください:

lib_LTLIBRARIES = libTwo.la libOne.la

為に:

lib_LTLIBRARIES = libOne.la libTwo.la

IIRC、lib_LTLIBRARIESインストール時の重要な順序。

于 2013-04-16T20:28:09.113 に答える