CMake linkowanie z biblioteką współdzieloną w systemie Windows: błąd dotyczący nie znalezienia pliku .lib
Mam definicję biblioteki w CMake, która buduje bibliotekę współdzieloną z małego zbioru plików, a ja kompiluję ją dobrze zarówno w Linuksie, jak iw Windows.
Jednak mam też inną bibliotekę, która łączy się z biblioteką współdzieloną i działa dobrze na Linuksie, jednak w oknach otrzymuję komunikat wzdłuż linii lub „błąd nie może znaleźć Release / nnet.lib” podczas link-time . Czy jest coś specjalnego, co muszę zrobić, aby połączyć to z oknami?
Edytuj, przykład:
Główna biblioteka współdzielona (nazwy plików zmienione w celu ochrony niewinnych):
ADD_LIBRARY(nnet SHARED
src/nnet/file_1.cc src/nnet/file_3.cc
src/nnet/file_2.cc src/nnet/file_4.cc)
Następnie buduję moduł Pythona, który łączy w bibliotece:
# Build python module
ADD_LIBRARY (other_lib SHARED ${CMAKE_SOURCE_DIR}/src/boost/boost_main.cc)
TARGET_LINK_LIBRARIES (other_lib nnet ${PYTHON_LIBRARIES})
Reszta to tylko bodziec (np .: zmiana rozszerzenia modułu na .pyd w systemie Windows, znalezienie bibliotek / nagłówków Pythona itp.).
błąd krytyczny LNK1181: nie można otworzyć pliku wejściowego „Release nets.lib”
podczas budowania other_lib. Zauważ, że podczas budowania sieci nie są zgłaszane żadne błędy.