我想让CMake在同一个文件夹中找到三个静态库。这是我的CMakeLists.txt文件中我正在努力解决的部分:
# Dependencies' directories
set(OGRE3D_DIR "D:/Data/Libs/ogre3D-1.10")
# Required libraries
find_library(OGREMAIN_LIB
NAMES OgreMain OgreMain_d
HINTS "${OGRE3D_DIR}/lib/${CMAKE_BUILD_TYPE}")
find_library(OGREOVERLAY_LIB
NAMES OgreOverlay OgreOverlay_d
HINTS "${OGRE3D_DIR}/lib/${CMAKE_BUILD_TYPE}")
find_library(OIS_LIB
NAMES OIS OIS_d
HINTS "${OGRE3D_DIR}/lib/${CMAKE_BUILD_TYPE}")
# Target
add_executable(Test Main.cpp)
# Library linking
target_link_libraries(Test
${OGREMAIN_LIB}
${OGREOVERLAY_LIB}
${OIS_LIB})
由于某种原因,三个变量OGREMAIN_LIB
,OGREOVERLAY_LIB
和OIS_LIB
都被设置为NOTFOUND,但是如果我尝试打印它们,我发现它们被设置为预期的路径(甚至在带后缀和不带后缀的名称之间选择了正确的一个)。
"我做错了什么"
1条答案
按热度按时间6l7fqoea1#
如果按如下方式添加${CMAKE_SHARED_LIBRARY_PREFIX}和${CMAKE_SHARED_LIBRARY_SUFFIX},情况会怎样: