【问题标题】:CLion does not see wxwidgets partially but compiles projectCLion 部分看不到 wxwidgets 但会编译项目
【发布时间】:2021-12-28 17:47:28
【问题描述】:

我在 OpenRC 上使用 Artix linux,我已经从 AUR 安装了带有 wxgtk3-dev 包(版本 3.1.5)的 wxwidgets,我想在 CLion 中使用该库。 CLion 看到了它,我可以包含 wx/ dir 中的任何内容。

我从 wxwidgets 网站复制了一个 hello world example 并将其粘贴到我的 cpp 源文件中,然后 CLion 向我显示了一堆 undeclired identifier 错误(尽管像 wxFrame 这样的一些“标识符”不是“未声明”)。但我能够构建和运行项目并且工作正常。 CLion 有什么问题,我可以做些什么来解决这个问题?

我看过一些指南,但其中大多数都讲述了 Windows,并且他们告诉了如何编译在我的情况下不是问题的项目 - 它正在编译但 CLion 告诉我它不会编译(并且仍然构建和运行它)。

如果需要,这也是我的CMakeLists.txthttps://pastebin.com/58NwS4AP

【问题讨论】:

  • C++ 中的构建过程包括 2 个阶段 - 编译和链接。看起来第一个成功了,但第二个失败了。您需要告诉链接器在哪里可以找到合适的 wx 库以及要使用哪些库。此外,您的程序没有运行 - 因为它未能构建。你在这里大错特错了。
  • 它并没有构建失败 - 它可以编译并运行(我可以在代码中更改一些字符串常量,它们会在运行程序中更改)
  • 而且我每次都会看到 CMake 日志,没有任何错误或警告
  • 你的意思是编辑器显示错误/警告?您需要重建索引或在CLion 中调用的任何内容。例如,如果您尝试使用std::string - 它是否也会给您带来任何错误?还是 std::thread?

标签: c++ wxwidgets clion


【解决方案1】:

好的,我解决了我的问题。正如您在我的CMakeLists.txt 中看到的那样,它使用 C++14。似乎 CLion 无法正确处理 C++14 示例中的某些代码,尽管 cmakemake 构建它不是问题。我刚刚切换到 C++11:

set(CMAKE_CXX_STANDARD 11)

现在一切正常!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    相关资源
    最近更新 更多