也许这是一个愚蠢的问题,但我有一个我需要的程序-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
存在更好的方法吗?
答案 0 :(得分:2)
CMAKE_CXX_FLAGS
用于编译器标志(使用CMake生成的make文件编译和链接是单独的步骤)。要链接你需要像
target_link_libraries(name mysqlcppconn)
target_link_libraries(name readline)
target_link_libraries(name pthread)
对于线程库,更好的方法是遵循this answer
中说明的过程