zoukankan      html  css  js  c++  java
  • 在CLion项目中指定不同版本的链接库

    在项目中, 需要使用到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

  • 相关阅读:
    (原)x264代码中的码流控制学习
    (原)关于OpenSL ES播放音频数据的一个奇怪的问题
    (原)理解码率控制模式(x264,x265,vpx)
    CentOS清除用户登录记录和命令历史方法
    2B销售提升业绩的5项技能
    Cookie中的httponly的属性和作用
    如何开展HW行动
    护网结束,复盘攻防,聊聊安全! 2019
    2018-11-21(34)《阿里铁军》阅后记!
    你了解渗透测试与红蓝队对抗的区别吗?
  • 原文地址:https://www.cnblogs.com/milton/p/7987021.html
Copyright © 2011-2022 走看看