Cmake没有添加库搜索路径

时间:2013-06-08 09:59:07

标签: path linker cmake

我目前正在将我的一个项目改为cmake。在项目目录中,我有一个文件夹,其中包含一个名为" boclib" 的外部库,它由常规makefile构建。我需要将我的可执行文件链接到" ProjectDir" /boclib/bin/libboc.a 。我目前的尝试看起来像这样:

  FIND_LIBRARY(BOCLIB boc ${PROJECT_BINARY_DIR}/boclib/bin)
  Message(${BOCLIB})
  TARGET_LINK_LIBRARIES(prod ${BOCLIB})

Meassage输出产生正确的库:

"AbsulutePathToProjectDir"/boclib/bin/libboc.a

链接时输出的是

g++ -lm -ldl CMakeFiles/prod.dir/src/BocData.cpp.o CMakeFiles/prod.dir/src/delay.cpp.o     CMakeFiles/prod.dir/src/leoni.cpp.o CMakeFiles/prod.dir/src/main.cpp.o CMakeFiles/prod.dir/src/scope.cpp.o CMakeFiles/prod.dir/src/SerialCom.cpp.o CMakeFiles/prod.dir/src/tester.cpp.o CMakeFiles/prod.dir/src/Utils.cpp.o  -o prod  boclib/bin/libboc.a -lboost_program_options -lboost_system -lboost_filesystem -lboost_serialization -lboc

boclib没有-L选项。 我做错了什么?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

似乎你粘贴的g ++命令中出现了两个“boc”库,第一个:boclib/bin/libboc.a应该来自你的target_link_libraries调用,第二个:-lboc必须来自某个东西你的CMakeLists.txt中的其他内容。

你不需要第二个,如果你发现为什么它被添加并删除它,它应该没问题。