我指定从源文件共享的库构建在我的CMakeLists.txt文件像这样共享库时:链接错误建筑,即使源文件包含
# Library setup
file(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/Source/*.cpp)
file(GLOB_RECURSE HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/Source/*.h)
源目录里包含我所有的.h和建立我的共享库所需的.cpp文件。所以,我当时做这样的事情:
add_library(mylibrary SHARED ${SOURCES} ${HEADERS})
我也上以及稍后关联一堆其他的.libs与在MyLibrary(难道还有一个撞击的问题?)。当我尝试构建磁带库时出现问题。我收到链接错误,如:
Severity Code Description Project File Line Suppression State
Error LNK2001 unresolved external symbol __imp_cosf mylibrary ***.obj 1
即使符号是在我已包含的源文件中定义的。我不确定该怎么做才能让我的项目找到这些符号。有趣的是,当我构建为一个静态库时,它很好。但是,当我尝试构建为动态库时,会出现这些错误。
最好的事情是,如果你能提供一个重现此错误的最小例子。如果你能从“输出窗口”向我们显示消息并且不仅形成“错误窗口”,它也会有所帮助 - 我想你正在使用VS – Vertexwahn