ADD_EXECUTABLE(main main.cpp)
TARGET_LINK_LIBRARIES(main libhello.so)
INCLUDE_DIRECTORIES(/tmp/t3/include/hello /tmp/t3/lib)
LINK_DIRECTORIES(/tmp/t3/lib)
这种情况下会出错,说找不到引用,原因是ADD_EXECUTABLE出现在LINK_DIRECTORIES之前。正确的做法是将LINK_DIRECTORIES放在ADD_EXECUTABLE之前
LINK_DIRECTORIES(/tmp/t3/lib)
ADD_EXECUTABLE(main main.cpp)
TARGET_LINK_LIBRARIES(main libhello.so)
INCLUDE_DIRECTORIES(/tmp/t3/include/hello /tmp/t3/lib)
推荐
INCLUDE_DIRECTORIES(/home/book/work/cmake/out/include)
LINK_DIRECTORIES(/home/book/work/cmake/out/lib)
ADD_EXECUTABLE(hello main.cpp)
TARGET_LINK_LIBRARIES(hello libhello123.so)
本文讨论了在CMake中遇到的链接库错误,指出问题在于`ADD_EXECUTABLE`命令出现在`LINK_DIRECTORIES`之前。正确的做法是先指定链接目录,然后添加可执行文件并链接库。同时,提供了正确的CMake配置示例。
690

被折叠的 条评论
为什么被折叠?



