Cmake import -lpthread 等

Cmake import -lpthread and others

也许这是一个愚蠢的问题,但我有一个我需要的程序 -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

有更好的方法吗?

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

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

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

中解释的过程