cmake+idea+conan构建c++开发环境
- conan是一个还算能用的c++包管理器, 用它可以简化很多依赖关系
- conan 本身使用python写的, 所以…
- 推荐python3 pip3 以上进行安装
pip3 install conan
- 这里假设你已经安装好了conan
$conan -v Conan version 1.24.1
1
2## 定义conan依赖文件```conanfile.txt```
- 在项目根目录下定义一个名为```conanfile.txt```的文件,eg:
[requires]
zlib/1.2.11@conan/stable
boost/1.71.0@conan/stable
gtest/1.8.1@bincrafters/stable
protobuf/3.9.1@bincrafters/stable
opencv/4.1.1@conan/stable
[generators]
cmake
[options]
1 | - 在项目cmake中使用conan: 在cmake合适的位置加载conan |
加载conan
set(CONAN_LIBS “”)
execute_process(
COMMAND conan install ..
)
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
message(“conan get libs\t${CONAN_LIBS}\n”)
1 | - cmake reload之后,所有你指定的依赖就会下载到本地了 |
target_link_libraries(${build_temp} pthread ${CONAN_LIBS})
1 | ## 配合clion进行远程开发 |
ll package/9434a65ef948ba36ef81ae1ae01f4667d80ff307/
总用量 1152
-rw-r--r-- 1 root root 3077 1月 13 16:56 conaninfo.txt
-rw-r--r-- 1 root root 1166067 1月 13 16:56 conanmanifest.txt
drwxr-xr-x 3 root root 4096 1月 13 16:56 include
drwxr-xr-x 2 root root 4096 1月 13 16:56 lib
1
2
- 中间多了一层hash值, 不要在意, 我们最终需要```~/.conan/data```下所有的include文件
- 写个命令,在~/.conan/data下执行
mkdir temp_include & find . -name include -type d |grep package|xargs -I{} cp -vr {} temp_include/
```
- 下载下来放在clion自己同步的远程头文件中, 解决了
``` C:\Users\用户名\.CLion版本号\system\.remote\服务器IP和端口\hash 值\usr\include ```