#include <iostream>
#include <boost/format.hpp>
#include <QtGui>
#include<QtWidgets>
#include <CGAL/Qt/GraphicsViewNavigation.h>
#include <QLineF>
#include <QRectF>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QGraphicsScene scene;
scene.setSceneRect(0,0, 100, 100);
scene.addRect(QRectF(0,0, 100, 100), QPen(QColor(255,0,0)));
scene.addLine(QLineF(0,0, 100, 100));
scene.addLine(QLineF(0,100, 100, 0));
QGraphicsView* view = new QGraphicsView(&scene);
CGAL::Qt::GraphicsViewNavigation navigation;
view->installEventFilter(&navigation);
view->viewport()->installEventFilter(&navigation);
view->setRenderHint(QPainter::Antialiasing);
view->show();
return app.exec();
}
错误提示:
1>LINK : fatal error LNK1104: 无法打开文件“CGAL_Qt4-vc100-mt-gd-4.2.lib”
如果把#include<QtWidgets>去掉,则会有:
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(10): error C2079: “app”使用未定义的 class“QApplication”
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(10): error C2078: 初始值设定项太多
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(10): error C2440: “初始化”: 无法从“char **”转换为“int”
1> 没有使该转换得以执行的上下文
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(11): error C2079: “scene”使用未定义的 class“QGraphicsScene”
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(12): error C2228: “.setSceneRect”的左边必须有类/结构/联合
1> 类型是“int”
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(13): error C2228: “.addRect”的左边必须有类/结构/联合
1> 类型是“int”
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(14): error C2228: “.addLine”的左边必须有类/结构/联合
1> 类型是“int”
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(15): error C2228: “.addLine”的左边必须有类/结构/联合
1> 类型是“int”
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(16): error C2514: “QGraphicsView”: 类没有构造函数
1> f:\qt\qt5.0.1\5.0.1\msvc2010\include\qtcore\qcoreevent.h(321) : 参见“QGraphicsView”的声明
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(18): error C2027: 使用了未定义类型“QGraphicsView”
1> f:\qt\qt5.0.1\5.0.1\msvc2010\include\qtcore\qcoreevent.h(321) : 参见“QGraphicsView”的声明
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(18): error C2227: “->installEventFilter”的左边必须指向类/结构/联合/泛型类型
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(19): error C2027: 使用了未定义类型“QGraphicsView”
1> f:\qt\qt5.0.1\5.0.1\msvc2010\include\qtcore\qcoreevent.h(321) : 参见“QGraphicsView”的声明
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(19): error C2227: “->viewport”的左边必须指向类/结构/联合/泛型类型
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(19): error C2227: “->installEventFilter”的左边必须指向类/结构/联合/泛型类型
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(20): error C2027: 使用了未定义类型“QGraphicsView”
1> f:\qt\qt5.0.1\5.0.1\msvc2010\include\qtcore\qcoreevent.h(321) : 参见“QGraphicsView”的声明
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(20): error C2227: “->setRenderHint”的左边必须指向类/结构/联合/泛型类型
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(21): error C2027: 使用了未定义类型“QGraphicsView”
1> f:\qt\qt5.0.1\5.0.1\msvc2010\include\qtcore\qcoreevent.h(321) : 参见“QGraphicsView”的声明
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(21): error C2227: “->show”的左边必须指向类/结构/联合/泛型类型
1>f:\program files\microsoft visual studio 10.0\myproject\testqt\testqt\qttest1.cpp(22): error C2228: “.exec”的左边必须有类/结构/联合
1> 类型是“int”
1>
1>生成失败。
1>
1>已用时间 00:00:06.67
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
到底怎么办啊?
博主 你好 我现在也遇到和你同样的问题
LINK : fatal error LNK1104: 无法打开文件“CGAL_Qt4-vc100-mt-gd-4.3.lib”
请问博主是怎么解决的?
不吝赐教
嗯,最后没办法我只好用改用Qt4.8了。感觉5.0变化太大了
@peterhao89: 这样啊,看来是版本的问题,我用的是QT5.3.2。我在国外的论坛上面看到他们在编译CGAL之后生成了四个lib,而我只有3个,唯独没有CGAL_Qt4-vc100-mt-gd-4.3.lib。 昨天晚上就怀疑是QT5的问题,就安装了QT4.8和QTcreator2.8。
最后折腾了很久,连个QT Hello 都没跑出来。不知道什么原因,烦的要死这个东西弄了很久了,结果昨晚又卸载了。
上周才接触到QT,什么都不懂。 谢谢 博主的指教
争取今晚搞定
@刘54: 嗯,祝你成功!