フレームワークをダウンロードし、それを .so としてバンドルして、他のプロジェクトに含めることにしました。ただし、フレームワークはいくつかの静的ライブラリに依存しています。すべてのリンカーがこれをサポートしているわけではないため、静的ライブラリを .so にリンクできないことを複数の投稿で見ました。
そこで、静的ライブラリをexeにリンクし、.soもリンクしようとしました。参照が未定義であるというエラーが表示されます (静的ライブラリからのものへの参照)。
例えば:
add_library(framework3 SHARED ${MY_SOURCES}) #produces libframework3.so
次にexeプロジェクトで:
add_executable(renderer.exe ${MY_SOURCES})
target_link_libraries(tsx_renderer.exe framework3)
target_link_libraries (renderer.exe ${PROJECT_SOURCE_DIR}/Framework/Libs/libjpeg.lib)
target_link_libraries (renderer.exe ${PROJECT_SOURCE_DIR}/Framework/Libs/libpng.lib)
私が得るエラーメッセージは次のとおりです。
/home/joe/ClionProjects/proj/build/libframework3.so: undefined reference to `jpeg_destroy_compress'
/home/joe/ClionProjects/proj/build/libframework3.so: undefined reference to `png_set_write_fn'