Windows上的基本QT5创建者CGAL示例



在挣扎之后,我能够在Windows上编译CGAL环境。为此,我遵循了CGAL提供的描述,因此所有库和包含文件都位于C: dev cgal-4.10.1

现在是时候将CGAL与QT5创建者结合使用了。对于第一个测试,我想设置一个基本项目,该项目只能使用一个CGAL来编译空白代码。

所以,我在QT5创建者中创建了一个新项目。mainwindows.cpp具有一个cgal include语句(aabb_face_graph_triangle_primitive.h):

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <CGAL/AABB_face_graph_triangle_primitive.h>
MainWindow::MainWindow(QWidget *parent) :
     QMainWindow(parent),
     ui(new Ui::MainWindow)
{
     ui->setupUi(this);
}
MainWindow::~MainWindow()
{
     delete ui;
}

我选择了aabb_face_graph_triangle_primistion.h作为示例。

  • 迭代1:

项目文件(.pro)必须包含所有参考,才能找到.h文件(可能是.lib文件?)。所以我添加了行:

INCLUDEPATH += C:devCGAL-4.10.1include

编译此项目给出以下错误:

fatal error C1083: Cannot open include file: 'CGAL/AABB_face_graph_triangle_primitive.h': No such file or directory

由于文件确实存在,因此此问题的根源在于未包括正确的路径。应该在项目文件中添加什么以编译此基本空白程序?

  • 迭代2:

我注意到,当右键单击项目名称时,我可以在.pro文件中选择"添加库"为自动生成语句。在这里,我选择了"外部库"。对于"库文件",我浏览到'c: dev cgal-4.10.1 build lib lib libe cgal_qt5-vc140-mt-4.10.1.lib'(不确定这是正确的吗?但这是QT5的释放文件夹,其名称?)。对于" include路径",我浏览了" c: dev cgal-4.10.1 build include'(也不确定?)。我取消了" Linux"one_answers" Mac",因此只选择了" Windows"。

此生成的以下文本被自动添加到.pro文件:

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../dev/CGAL-
4.10.1/build/lib/release/ -lCGAL_Qt5-vc140-mt-4.10.1
else:win32:CONFIG(debug, debug|release): LIBS += -
L$$PWD/../../../../dev/CGAL-4.10.1/build/lib/debug/ -lCGAL_Qt5-vc140-mt-
4.10.1
else:unix: LIBS += -L$$PWD/../../../../dev/CGAL-4.10.1/build/lib/ -lCGAL_Qt5-
vc140-mt-4.10.1
INCLUDEPATH += $$PWD/../../../../dev/CGAL-4.10.1/build/include
DEPENDPATH += $$PWD/../../../../dev/CGAL-4.10.1/build/include

不幸的是,即使使用此"更高级"的自动生成.pro。

主要问题:.pro文件中应提供的内容,以成功地编译了一个简单的.h CGAL在Windows下的语句。除了添加" includepath"语句之外,如果也有参考CGAL库(.lib)。如果是的,则应如何形成语句以及应添加哪个库(CGAL_QT5-VC140-MT-4.10.1.1.lib || CGAL_QT5-VC140-MT-GD-GD-4.10.1.1.lib)。

(我注意到这个问题已经被要求进行Linux环境)

好吧,这有点令人尴尬...

解决方案是右键单击项目名称并运行qmake命令。

要完成,这是我的.pro文件

INCLUDEPATH += 
    C:devCGAL-4.10.1include 
    C:devboost_1_65_1 
    C:devCGAL-4.10.1buildinclude

win32: LIBS += -L$$PWD/../../../../dev/CGAL-4.10.1/build/lib/ -lCGAL_Qt5-vc140-mt-4.10.1
INCLUDEPATH += $$PWD/../../../../dev/CGAL-4.10.1/include
DEPENDPATH += $$PWD/../../../../dev/CGAL-4.10.1/include

相关内容

  • 没有找到相关文章

最新更新