【发布时间】:2018-04-21 19:40:25
【问题描述】:
我正在尝试在 CMake 中循环使用库名称的列表。在每次迭代中,我都会使用 find_library 搜索库:
set(LIB_NAMES "TKBO;TKBRep;")
set(LIBS_DIR /usr/local/OCCT/7.2.0/libd)
FOREACH(LIB_NAME ${LIB_NAMES})
FIND_LIBRARY(LIB ${LIB_NAME} PATHS ${LIBS_DIR})
MESSAGE("<<${LIB_NAME}>>")
MESSAGE("<<${LIB}>>")
target_link_libraries(mySharedLib ${LIB})
ENDFOREACH()
对于以上内容,我得到了输出:
<<TKBO>>
<</usr/local/OCCT/7.2.0/libd/libTKBO.dylib>>
<<TKBRep>>
<</usr/local/OCCT/7.2.0/libd/libTKBO.dylib>>
当 LIB_NAME 更新时,FIND_LIBRARY 似乎使用了一个过时的值。我还尝试在循环结束时明确地UNSET(LIB_NAME),但这也无济于事。
我会忽略什么?
【问题讨论】:
标签: cmake