Библиотека mylib
состоит из самой библиотеки в каталоге lib/
и набора тестов в каталоге test/
.Он полностью находится под контролем CMake:
mylib/CMakeLists.txt:
...
add_subdirectory(lib)
add_subdirectory(test)
...
mylib/lib/CMakeLists.txt:
...
add_library(my_lib ${src_files})
...
mylib/test/CMakeLists.txt:
...
add_executable(mytest mytest.c)
target_link_libraries(mytest mylib)
Шаги сборки:
mkdir build
cd build
cmake ..
make
ctest # or make test
make install
Работает под Linux, стабильно на протяжении многих лет.Однако в Windows10 появляется окно с сообщением «mytest.exe - Системная ошибка»: «Выполнение кода не может быть продолжено, поскольку mylib.dll не был найден. Повторная установка программы может решить эту проблему.»
Нетустановка (а не переустановка) не будет хорошим решением: мне нужно сначала протестировать библиотеку перед ее установкой (кстати: это исключает большинство решений, предложенных в ответ на несколько похожих вопросов).
НеCMake должен работать кроссплатформенный?Что такое минимально инвазивная настройка, чтобы вышеуказанные шаги сборки работали под Windows?