Cmake 3.0.2无法从列表中链接调试和释放库

时间:2014-10-29 14:09:41

标签: c++ visual-studio-2013 cmake build-process

我们正在迁移到Cmake 3.0.2,Visual Studio 2013并构建64位。

以前用Cmake工作的东西现在不起作用。我将不同的库名称附加到列表,然后想要将列表中的所有库链接到项目。例如:

include_directories("${EMU_EXTERNAL_DIR}/cgal/4.4/include")
link_directories("${EMU_EXTERNAL_DIR}/cgal/4.4/lib/x64")

list(APPEND ${PROJECT_NAME}_LIBRARIES
debug CGAL_Core-vc120-mt-gd-4.4 
debug CGAL_ImageIO-vc120-mt-gd-4.4 
debug CGAL-vc120-mt-gd-4.4
optimized CGAL_Core-vc120-mt-4.4 
optimized CGAL_ImageIO-vc120-mt-4.4 
optimized CGAL-vc120-mt-4.4
)

之后我以相同的方式添加更多库。最后:

target_link_libraries(${PROJECT_NAME} ${${PROJECT_NAME}_LIBRARIES})

这导致VisualStudio在Debug中搜索Release库。如果我明确地包含Release libs的路径,那么我会得到一个VS错误:" ..找不到lib' debug.lib'" 。在我看来,Cmake没有正确解析库名称和优化/调试关键字。

任何人都有类似的问题或线索是怎么回事?它以前很常令人困惑。

谢谢!

0 个答案:

没有答案