【问题标题】:Using MSYS2 installed libraries in CLION在 CLION 中使用 MSYS2 安装的库
【发布时间】:2017-09-03 13:41:05
【问题描述】:

所以我一直想学习 C++,我有 CLion 的学生许可证,并且熟悉公司的其他软件,所以如果可能的话我想使用它。使用 MSYS2 似乎是一种轻松管理库的好方法,因为每当我尝试使用 C++ 时,这都会变得很糟糕。
MSYS2 看起来足够直观,我设法安装了 OpenCV 库作为测试。但是,我现在完全不知道如何将它与 CLion 联系起来。

我一直在阅读有关 CMake 文件的内容,我认为这应该是我的:

cmake_minimum_required(VERSION 3.7)
project(letsee)

set(CMAKE_CXX_STANDARD 11)

find_package (OpenCV REQUIRED)

set(SOURCE_FILES main.cpp)
add_executable(letsee ${SOURCE_FILES})
target_link_libraries( letsee ${OpenCV_LIBS} )

然而,最后一行应该链接为一个环境变量。我知道 MSYS2 应该以某种方式处理它,或者我应该创建自己的 Windows 环境变量?无论哪种方式,我什至不确定我会在哪里链接这样的变量。我对这一点感到非常困惑。没有人能用一种 40 年历史的语言在 Windows 中创建一种直观的方式来处理这个问题。

【问题讨论】:

  • OpenCV_LIBS 是一个 CMake 变量,应该由 find_package 设置。可能 CLion 没有以“正确的方式”执行关于 msys2 的 CMake 配置,因此它找不到 OpenCV 包。
  • “已安装 MSYS”库是什么意思?您是否有机会通过执行类似“configure & make & make install”的顺序来安装它们?您关于“MSYS 是一种轻松管理库的好方法”的说法非常令人困惑,因为 MSYS 一直恰恰相反。我不确定 clion、cmake 和 msys 是如何集成在一起的,但总的来说,手动管理所有库(可能通过将它们并排保存在某种“工作区”文件夹中)并依靠尽可能少地安装和环境变量。
  • MSYS2 允许您使用 pacman 命令从存储库安装库。我运行了 pacman -S 库名称,它运行并安装了。
  • 您的构建是否与 MSYS2 提供的 MinGW shell 中的 cmakecommand-line 接口一起工作?如果没有,最好先调试一下。

标签: c++ libraries clion msys2


【解决方案1】:

我刚刚下载并设置了一切来尝试一下。以下是它的工作原理:

  1. 安装 MSYS2 并按照他们网站上的教程进行操作(pacman -Syupacman -Su) - 您可能已经这样做了
  2. pacman -S mingw-w64-x86_64-toolchain(你可能也这样做了)
  3. pacman -S mingw-w64-x86_64-cmake 这是重要的一步。 我们将使用这个 CMake 而不是捆绑的一个,因为这个 CMake 可以与 MSYS2 pacman 库一起使用
  4. 配置 CLion:MinGW:C:\msys64\mingw64(或类似),CMake:C:\msys64\mingw64\bin\cmake.exe
  5. CLion 可能会警告您,因为 CMake/GDB 太新了。不过,到现在为止我还没有遇到任何问题

编辑:实际上,我现在还使用捆绑的 CMake 对其进行了测试,并且开箱即用。所以不知道为什么它不适合你。

【讨论】:

  • 谢谢。这是一个救生员
猜你喜欢
  • 2020-06-26
  • 2019-11-29
  • 1970-01-01
  • 1970-01-01
  • 2016-07-22
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 2021-07-19
相关资源
最近更新 更多