c++ - 如何在CMake中添加 “-l”(ell)编译器标志

标签 c++ cmake clion

在Ubuntu 16上工作

我使用g++ main.cpp -lpq命令来编译我的小项目。现在,我使用Clion,并且想要做与g++相同的操作。但是我不能在cmake文件中添加编译器标志并获得编译错误。

cmake_minimum_required(VERSION 3.5.1)
project(day_g)

set(CMAKE_CXX_FLAGS "-lpq")

add_definitions(-lpq)

message("CMAKE_CXX_FLAGS is ${CMAKE_CXX_FLAGS}")

set(CMAKE_CXX_STANDARD 11)

set(SOURCE_FILES main.cpp)
add_executable(day_g ${SOURCE_FILES})

我也只运行cmake文件,并使用-lpq标志获取CMAKE_CXX_FLAGS

CMAKE_CXX_FLAGS is -lpq
-- Configuring done
-- Generating done

如何正确地将编译器标志添加到cmake文件?

最佳答案

标记-l用于链接程序,不适用于编译器。该标志用于与库的链接。 CMake为此具有特殊的命令target_link_libraries:

target_link_libraries(day_g pq)

关于c++ - 如何在CMake中添加 “-l”(ell)编译器标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45942949/

相关文章:

c++ visual studio 2012 #include 不起作用

c++是否有默认数据类以合理的速度进行基于排序索引的访问?

gcc - CMake 错误 : configure_file Problem Configuring File - with CLion

c++ - 在 CLion 项目中链接 boost

c++ - 为什么在类声明中定义时允许显式特化类模板成员函数,但在单独定义时却不允许?

c++ - 集合中的随机元素

CMake 找不到 GLEW

windows - Qt Creator由于错误的link.exe路径而无法打开CMake项目

gcc - CLion:错误:C 编译器 "C:/MinGW/bin/gcc.exe"无法编译简单的测试程序

c++ - 使用 cmake 时对 `glfwInit' 问题的 undefined reference Clion OpenGL