在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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CLion编译静态链接库,你可以按照以下步骤进行操作: 1. 打开CLion并创建一个新的C++项目。 2. 在项目根目录下创建一个文件夹,用于存放你的静态库文件。 3. 在CLion,右键点击项目名称,选择 "New" -> "C/C++ Source File",然后输入一个名称,例如 `library.cpp`。 4. 在 `library.cpp` 文件编写你的库代码。 5. 在CLion,右键点击项目名称,选择 "New" -> "C/C++ Header File",然后输入一个名称,例如 `library.h`。在 `library.h` 文件声明你的库函数。 6. 在 `CMakeLists.txt` 文件添加以下代码,用于构建静态库: ``` # 设置生成静态库的名称 set(LIB_NAME mylibrary) # 添加你的源文件 add_library(${LIB_NAME} STATIC library.cpp) # 添加头文件路径 target_include_directories(${LIB_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) # 设置生成静态库的输出路径 set_target_properties(${LIB_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/path/to/library_folder) ``` 7. 点击CLion的 "Reload CMake Project" 按钮,以使更改生效。 8. 构建项目并生成静态库。你可以通过选择 "Build" -> "Build Project" 或使用快捷键 `Command + F9` 来构建项目。 9. 构建完成后,在指定的输出路径找到生成的静态库文件。 现在你已经成功编译了一个静态链接库,可以在其他项目使用它。记得在你的其他项目添加库文件和头文件的引用,以及链接静态库的命令。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值