У меня есть определение библиотеки в CMake, которая создает общую библиотеку
небольшого набора файлов, и у меня он прекрасно компилируется как в Linux, так и в Windows.
Тем не менее, у меня также есть другая библиотека, которая связывается с общей библиотекой, и она прекрасно работает в Linux, однако в Windows я получаю сообщение в виде строк или "ошибка не может найти Release / nnet.lib" во время ссылка времени. Есть ли что-то особенное, что я должен сделать, чтобы получить это
ссылка на windows?
Редактировать, пример:
Основная общая библиотека (имена файлов изменены, чтобы защитить невинных):
ADD_LIBRARY(nnet SHARED
src/nnet/file_1.cc src/nnet/file_3.cc
src/nnet/file_2.cc src/nnet/file_4.cc)
А потом я создаю модуль python, который связывает библиотеку:
# Build python module
ADD_LIBRARY (other_lib SHARED ${CMAKE_SOURCE_DIR}/src/boost/boost_main.cc)
TARGET_LINK_LIBRARIES (other_lib nnet ${PYTHON_LIBRARIES})
Остальное - просто шаблон (например: изменение расширения модуля на .pyd в Windows, поиск библиотек / заголовков python и т. Д.)
И тогда при сборке в VS 2008 я получаю:
фатальная ошибка LNK1181: не удается открыть ввод
файл 'Release \ nnet.lib'
при создании other_lib. Обратите внимание, что при сборке nnet не выдается никаких ошибок.