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

  • 相关阅读:
    OpenSLAM
    CAD&CG GDC 2018大会论文录用名单
    hdu4328(经典dp用悬线法求最大子矩形)
    hdu3729(二分图)
    hdu 4055(经典问题)
    Codeforces Round #207 (Div. 1) B (gcd的巧妙运用)
    hdu1066(经典题)
    zoj3662(dp)
    zoj3659(经典并查集)
    hdu4565(矩阵快速幂+经典的数学处理)
  • 原文地址:https://www.cnblogs.com/milton/p/7987021.html
Copyright © 2011-2022 走看看