【发布时间】:2013-12-25 02:11:44
【问题描述】:
我正在尝试在 windows 上编译一个开源项目:https://github.com/francisengelmann/FabScan100
我正在使用 QtCreator 2.7.0、Qt Qt5.0.2 msvc2010_opengl、MSVC2010
我的目录如下所示:
C:\
C:\libs\opencv-2.4.2\
C:\libs\pcl-1.6.0
C:\libs\Qt\Qt5.0.2
C:\fabscan\FabScan100-master
我修改了 qtTest.pro 文件以包含必要的头文件和库:
INCLUDEPATH += C:\libs\pcl-1.6.0\3rdParty\Eigen\include
LIBS += C:\libs\pcl-1.6.0\3rdParty\Eigen\bin
INCLUDEPATH += C:\libs\pcl-1.6.0\3rdParty\FLANN\include\flann
LIBS += C:\libs\pcl-1.6.0\3rdParty\FLANN\lib
INCLUDEPATH += C:\libs\pcl-1.6.0\3rdParty\Boost\include\boost
LIBS += C:\libs\pcl-1.6.0\3rdParty\Boost\lib
INCLUDEPATH += C:\libs\opencv-2.4.2\opencv\build\include
LIBS += C:\libs\opencv-2.4.2\opencv\build\x86\vc10\lib
INCLUDEPATH += C:\libs\pcl-1.6.0\include\pcl-1.6
LIBS += C:\libs\pcl-1.6.0\lib \
-lpcl_common \
-lpcl_io \
-lpcl_filters \
-lpcl_kdtree \
-lpcl_registration \
-lpcl_features \
-lpcl_segmentation \
-lpcl_surface \
-lpcl_search
但是当我按下编译按钮时,QtCreator 会抛出一个错误:
..\qtTest\staticHeaders.h(4) : fatal error C1083: Cannot open include file: 'Eigen/Core': No such file or directory
这有点奇怪,因为文件确实在那里。我还可以通过按 STRG 并单击 staticHeaders.h 中的 include 语句在 QtCreator 中打开它
有什么想法吗?
【问题讨论】:
-
您是否将 Eigen 库路径放入 LIBS 或它的父级?请注意,代码尝试包含 Engine_/Core,而不是 Core。如果您只包含 _Eigen 而不是它的父级,它将不起作用。你能确定吗?
-
INCLUDE 目录 (C:\libs\eigen-3.0.5\include) 中的 @LaszloPapp 是一个目录“Eigen”,其中包含文件“Core”(没有扩展名)。我想那可以吗?但是在 LIBS 目录 (C:\libs\eigen-3.0.5\bin) 中只有两个 DLL 文件 (msvcp100.dll & msvcr100.dll) - 不像其他 LIB 目录那样 *.lib 文件:-/跨度>
-
基于 staticHeaders.h 代码(第 4 行),您需要有一个名为“Eigen”的文件夹,其中包含“Core”文件。您是否在 eigen lib parent 的某个地方有一个类似这样的文件夹?例如,我在 Linux 上有这个:/usr/include/eigen2/Eigen/Core 在这种情况下,必须使用 qmake 将 /usr/include/eigen2 添加到 LIB 变量中。你在“C:\libs\pcl-1.6.0\3rdParty\Eigen\include”中有一个“Eigen”文件夹吗?
-
好的。打我傻逼。我想保存 *.pro 文件并按下构建是我所要做的。最近发现了这个神奇的“执行 qmake”按钮。据我了解,在 *.pro 文件中进行更改后,我必须单击该按钮来重新创建 make 文件
-
Reini,好的,提交了一个涵盖这个的答案。
标签: windows qt opencv eigen visual-studio-2010