当我使用Cmake编译文件时,它显示/ usr / bin / ld:找不到-ltest。但是,当我使用g ++编译文件时,它没问题

时间:2015-11-06 04:10:47

标签: c++ gcc cmake

这是src目录中的CMakeList.txt:

  

ADD_EXECUTABLE(Expression ExpressionValue.cpp)   INCLUDE_DIRECTORIES(/根/凤舞/代码/ headfiles /表达/包括)   LINK_DIRECTORIES(/根/凤舞/代码/ headfiles /表达/ IIb)的   TARGET_LINK_LIBRARIES(表达测试)

当我在构建目录中输入cmake ..时,它没问题。之后我输入make,它会显示/usr/bin/ld: cannot find -ltest。但是当我使用g ++时,没关系。

  

g ++ ExpressionValue.cpp   -I / root / fengwu / codes / headfiles / expression / include -L / root / fengwu / codes / headfiles / expression / lib -ltest -o expr.out

1 个答案:

答案 0 :(得分:1)

来自link_directories的文档:

  

该命令仅适用于调用后创建的目标。

对于make link_directories()来电,您需要先将移到 add_executable()