【发布时间】:2010-12-28 19:49:27
【问题描述】:
我在 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})
其余的只是样板文件(例如:在 Windows 上将模块扩展名更改为 .pyd,查找 python 库/头文件等) 然后在 VS 2008 中构建时,我得到:
致命错误 LNK1181:无法打开输入 文件“发布\nnet.lib”
在构建 other_lib 时。请注意,构建 nnet 时不会引发任何错误。
【问题讨论】: