log4cxx ロギング ライブラリを使用します。追加のバイナリ依存関係を避けるために、静的バージョンとリンクする必要があります。動的ライブラリで使用しています。log4cxx のデフォルト ビルドは静的ライブラリを生成しますが、-fPIC フラグなしでコンパイルされたため、リンクできません。そこで、log4cxx bulding を次のように変更しました。
CPPFLAGS="-fPIC -static" ./configure
make
その結果liblog4cxx.a
、.so ライブラリとリンクできる を受け取りました。リンクは、次のような Cmake によって行われました。
target_link_libraries(my_dynamic_lib log4cxx)
link_directories(relative_path_to_dir_where_liblog4cxx.a_lives)
実行時まではすべて問題ないように見えました。my_dynamic_lib.so を読み込めません。undefined symbol "logger"
何が問題なのか、この問題を解決する方法を教えてください。
ありがとう