いくつかのオプションのタスクのために、他のライブラリ ( ColPack ) にリンクする必要がある数学ライブラリ ( ADOL-C ) があります。
Linux では問題なくコンパイルでき、Windows では ADOl-C または ColPack の両方を単独でコンパイルできますが、Windows で ColPack を使用して ADOL-C をコンパイルしようとすると (MinGW 32、ld 2.22)、次の問題が発生します。
$ make
Making all in ADOL-C
make[1]: Entering directory `/c/tests/ADOL-C-2.3.0/ADOL-C'
[...]
CC int_reverse_s.lo
CC int_reverse_t.lo
CXXLD libadolc.la
*** Warning: This system can not link to static lib archive /usr/lib/libColPack.
la.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
Creating library file: .libs/libadolc.dll.a
sparse/.libs/libsparse.a(sparsedrivers.o): In function `generate_seed_jac':
c:\tests\ADOL-C-2.3.0\ADOL-C\src\sparse/sparsedrivers.cpp:119: undefined referen
ce to `ColPack::BipartiteGraphPartialColoringInterface::BipartiteGraphPartialCol
oringInterface(int, ...)'
[...]
collect2: ld returned 1 exit status
make[5]: *** [libadolc.la] Error 1
make[5]: Leaving directory `/c/tests/ADOL-C-2.3.0/ADOL-C/src'
make[4]: *** [all-recursive] Error 1
ColPack を --enable-shared で構成したとしても、MinGW のように動的ライブラリを提供することはできません。コンパイルから実際に共有ライブラリを取得することはなく、libColPack.[a|la|lai] と ColPack.exe のみです。 .
ヒントはありますか?