【问题标题】:Compiling Plplot with support for Qt5编译支持 Qt5 的 Plplot
【发布时间】:2016-08-04 15:37:50
【问题描述】:

我正在寻找一个免费的 LGPL 库,用于 3D 绘图,并带有 Qt5 的绑定。我已经用 QwtPlot 满足了我的 2D 绘图需求,但没有找到 Qt Data Visualization 的最新替代品(我的项目不能使用 GPL 许可证),直到我遇到 PlPlot 这似乎满足所有我的要求。

但是,我在 64bit Windows 1032bit Qt 5.7 SDK 上构建库的最新版本(克隆了 git 存储库)时遇到了很大困难。我有一个有效的 Qt 安装(加上一个来自源 QwtPlot 库的构建,就像一个魅力一样)。

在我做的 PowerShell 中

cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE="Debug" -DENABLE_f95=OFF -DPL_DOUBLE=OFF -DPLPLOT_USE_QT5=ON -DDEFAULT_ALL_DEVICES=ON ..

来自本地git repo 目录树根目录中的build 目录。

结果是我得到以下错误:

CMake Error at bindings/qt_gui/CMakeLists.txt:57 (target_link_libraries):
  The plain signature for target_link_libraries has already been used with
  the target "plplotqt".  All uses of target_link_libraries with a target
  must be either all-keyword or all-plain.

  The uses of the plain signature are here:

   * C:/Qt/5.7/mingw53_32/lib/cmake/Qt5Core/Qt5CoreMacros.cmake:331 (target_link_libraries)

Here 建议使用旧版本的cmake,即3.3.2。问题是 3.3.x 和 3.2.x 无法在 Windows 10 上安装,错误为 PATH is too long。当我看到这样的事情时,我不知道该笑还是该哭。我不会为了安装cmake 而从我的PATH 中删除块,即使是很短的时间。这是可笑的。 :-/ 我也不想对我的Qt 的安装目录中提供的cmake 模块进行任何修改。

谁能帮我为Qt5 建立库?如果您有满足我要求的PlPlot 的替代品(许可证和免费),我绝对愿意试一试。


编辑:我完全忘记了很棒的 VTK 库(具有 BSD 许可证)。我现在会继续使用它,但仍然想知道我所写的问题的解决方案。

编辑: VTK 至少可以构建和安装,但是 3D 绘图功能似乎没有记录(并且可能非常缺乏)。

【问题讨论】:

    标签: c++ qt plot


    【解决方案1】:

    我似乎误读了邮件列表中的建议。我必须从负责 PlPlot 的 Qt 绑定的CMakeLists.txt 中完全删除 PUBLIC/PRIVATE 变量。在我这样做之后cmake 成功生成了所有必需的make 文件,之后的构建+安装过程没有任何问题。我仍然可以找到与 Qt 集成的示例(最好是 Qt5)。看起来 PlPlot 和 VTK 在 Qt 绑定 API 文档不佳方面有很多共同点。

    【讨论】: