在Clion的IDE中指定命令行参数

最近在linux上使用Clion这个C++ IDE,感觉很好,JetBrain的产品都很不错。

但是在跑简单例子的时候,使用到thread对象,直接build会出错

报错是:

thread::thread<void (&)(int), int>(void (&)(int), int&&)’:pthread_create’未定义的引用

就是说头文件的函数原型已经找到了,但是函数实现还没有找到,需要动态链接到pthread库上,然后就试着去run里面的edit_configure里面的cmdline parameter中手动添加-pthread参数

但是仍然无效,就很纳闷是什么原因。

后来发现在project目录下有个CmakeList文件,原来使用的是CMake编译器,所以应该在CMakeList文件中来指定命令行参数

比如:

cmake_minimum_required(VERSION 3.3)
project(C__NewFeature)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pthread")

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

然后重新build就成功了。

一般编译命令指定动态库时,程序会在系统默认的动态库路径去寻找,如果动态库不在指定路径上,需要手动指定路径

通常是 -L /usr/local/lib -pthread这样先指定路径,后指定库

但是在CMakeList中可以将二者分开,路径在link_directories("/usr/local/lib")中指定好

在编译命令参数中直接使用相应的库即可,比如:

cmake_minimum_required(VERSION 3.3)
project(BoostTest)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -lboost_coroutine -lboost_context -lboost_regex")

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

link_directories("/usr/local/lib")

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

使用NGINX反向代理部署Spring Boot应用

Spring Boot通过大量的默认配置,让使用Spring框架进行开发变得方便快捷,从而使得Java开发人员专注于程序原型设计。本文介绍如何创建一个简单的Sp...

9103
来自专栏battcn

一起来学SpringBoot | 第二十五篇:打造属于你的聊天室(WebSocket)

WebSocket 是 HTML5 新增的一种在单个 TCP 连接上进行全双工通讯的协议,与 HTTP 协议没有太大关系....

2142
来自专栏一个会写诗的程序员的博客

第11章 Spring Boot应用监控第11章 Spring Boot应用监控小结

在实际的生产系统中,我们怎样知道我们的应用运行良好呢?我们往往需要对系统实际运行的情况(各种cpu,io,disk,db,业务功能等指标)进行监控运维。这需要耗...

3063
来自专栏Ryan Miao

gradle中使用嵌入式(embedded) tomcat, debug 启动

在gradle项目中使用embedded tomcat。 最开始部署项目需要手动将web项目打成war包,然后手动上传到tomcat的webapp下,然后启动t...

4949
来自专栏程序猿DD

Spring Cloud构建微服务架构:分布式服务跟踪(跟踪原理)

通过上一篇《分布式服务跟踪(入门)》的例子,我们已经通过Spring Cloud Sleuth往微服务应用中添加了实现分布式跟踪具备的基本要素。下面通过本文来详...

3395
来自专栏大数据和云计算技术

Flume日志收集系统架构详解

任何一个生产系统在运行过程中都会产生大量的日志,日志往往隐藏了很多有价值的信息。在没有分析方法之前,这些日志存储一段时间后就会被清理。随着技术的发展和分析能力的...

5398
来自专栏云原生架构实践

Jhipster技术栈定制 - 基于UAA的微服务之间安全调用

3个微服务都是通过Jhipster生成。 工程代码生成完之后,根据上一节启动的组件的实际情况,修改微服务配置文件中Eureka和database相关的配置。

9943
来自专栏码神联盟

框架 | SpringBoot项目创建和发布部署步骤

3.2K4
来自专栏Spring相关

Getway网关管理ZUUL

微服务架构体系中,通常一个业务系统会有很多的微服务,比如:OrderService、ProductService、UserService...,为了让调用更简单...

3074
来自专栏Java技术分享

SSM三大框架整合详细总结(Spring+SpringMVC+MyBatis)

使用 SSM ( Spring 、 SpringMVC 和 Mybatis )已经很久了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当...

2.2K13

扫码关注云+社区

领取腾讯云代金券