Cmake import -lpthread和其他人

时间:2016-08-09 16:16:38

标签: c++ makefile cmake c++14 clang++

也许这是一个愚蠢的问题,但我有一个我需要的程序-lmysqlcppconn -lreadline和-lpthread。

我使用cmake为我解析使用生成makefile:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -lmysqlcppconn -lreadline -lpthread")
...(other command most likely irrelevant)

add_executable(name ${SOURCES} ${CMAKE_CXX_FLAG})

但是当我执行makefile时收到了以下警告:

clang: warning: -lmysqlcppconn: 'linker' input unused
clang: warning: -lreadline: 'linker' input unused
clang: warning: -lpthread: 'linker' input unused

存在更好的方法吗?

1 个答案:

答案 0 :(得分:2)

CMAKE_CXX_FLAGS用于编译器标志(使用CMake生成的make文件编译和链接是单独的步骤)。要链接你需要像

这样的东西
target_link_libraries(name mysqlcppconn)
target_link_libraries(name readline)
target_link_libraries(name pthread)

对于线程库,更好的方法是遵循this answer

中说明的过程