争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

在CLion项目中指定不同版本的链接库

时间:2024/6/10作者:未知来源:争怎路由网人气:

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
在项目中, 需要使用到libevent-2.1.x, 但是Ubuntu16.04自带的libevent版本为2.0.5, 需要另外编译安装新版的libevent, 安装过程很简单。
tar zxvf libevent-2.1.8-stable.tar.gz 
cd libevent-2.1.8-stable/
# 指定另外的安装路径, 以免覆盖系统自带的版本
./configure --prefix=/opt/lib/libevent
make
sudo make install
 
安装完成提示
Libraries have been installed in:
/opt/lib/libevent/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
 
接下来, 需要在CLion中配置项目使用这个版本的libevent, 修改CMakeLists.txt
cmake_minimum_required(VERSION 3.8)
project(untitled)
set(CMAKE_C_STANDARD 99)
# add extra lib directories
link_directories(/opt/lib/libevent/lib)
# add extra include directories
include_directories(/opt/lib/libevent/include)
set(SOURCE_FILES demo1.c)
add_executable(untitled ${SOURCE_FILES})
# specify the dependency on an extra library
target_link_libraries(untitled event)
 
注意:
1.不需要编译的文件, 都从set(SOURCE_FILES ...)中去掉。
2.link_directories 和 include_directories 需要指向新库的路径。
3.target_link_libraries 需要放在 add_executable之后, 对于第二个参数, 可以使用 .a 文件名, 例如 libevent.a 或者库名, 例如 event。

Linux是一套免费使用和自由传播的类Unix操作系统



关键词:在CLion项目中指定不同版本的链接库




Copyright © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版