C++ 使用CMake构建具有Levmar支持的开源库Teem
我尝试在Windows 64位下使用支持levmar的cmakeGUI和generator VisualStudio10 Win64构建库Teem 首先,我用CLAPACK和F2C构建了Levmar。这很好,因为levmar可以无错误地编译,并且演示成功 神秘的是,当我试图在levmar支持打开的情况下构建teem时,cmake总是关闭它,“因为它没有找到”,尽管我告诉cmake到levmar.lib的路径 这就是CmakeGUI告诉我的: 警告:关闭Teem_LEVMAR,因为找不到它。 “配置完成” 以下是我随teem提供的CMakeList.txt的一部分:C++ 使用CMake构建具有Levmar支持的开源库Teem,c++,cmake,static-libraries,C++,Cmake,Static Libraries,我尝试在Windows 64位下使用支持levmar的cmakeGUI和generator VisualStudio10 Win64构建库Teem 首先,我用CLAPACK和F2C构建了Levmar。这很好,因为levmar可以无错误地编译,并且演示成功 神秘的是,当我试图在levmar支持打开的情况下构建teem时,cmake总是关闭它,“因为它没有找到”,尽管我告诉cmake到levmar.lib的路径 这就是CmakeGUI告诉我的: 警告:关闭Teem_LEVMAR,因为找不到它。 “配
# Look for "levmar" library <http://www.ics.forth.gr/~lourakis/levmar/>
option(Teem_LEVMAR "Build Teem with levmar library support." OFF)
set(Teem_LEVMAR_LIB "")
if(Teem_LEVMAR)
find_package(LEVMAR)
if(LEVMAR_FOUND)
add_definitions(-DTEEM_LEVMAR)
set(Teem_LEVMAR_LIB ${LEVMAR_LIBRARIES})
set(Teem_LEVMAR_IPATH ${LEVMAR_INCLUDE_DIR})
else()
# We need to set this as a cache variable, so that it will show up as
# being turned off in the cache.
message("warning: Turning off Teem_LEVMAR, because it wasn't found.")
set(Teem_LEVMAR OFF CACHE BOOL "Build Teem with levmar library support." FORCE)
endif()
endif()
原来是
if(Teem_LEVMAR)
include_directories(${Teem_LEVMAR_IPATH})
endif()
但这没有帮助
为什么cmake不承认levmar.lib是levmar库,事实上并不接受它。
我还试图理解为什么find_package(levmar)
没有成功,但现在我不知道如何让它工作
您好,
jan luca。从中判断,您需要同时设置
LEVMAR\u INCLUDE\u DIR
和LEVMAR\u库
,您这样做了吗?非常感谢。成功了。我仍然不明白为什么在cmakeGUI中设置路径不起作用,但这并不十分重要。我设置了一个环境变量LEVMARLIB,并在cmake文件中写入$ENV{LEVMARLIB},现在cmake找到了LEVMARLIB。THANKS@m.s.你介意从你的评论中做出回答吗?这样简就可以接受它,并且问题被标记为已回答。
if(Teem_LEVMAR)
include_directories(${Teem_LEVMAR_IPATH})
endif()