我正在尝试将VTK库链接到Windows 7上的项目。我得到的错误是:
Error C1083 Cannot open include file: 'vtkGUISupportQtOpenGLModule.h': No such file or directory
我的代码中引发错误的是#include<QVTKWidget2.h>
。
我的VTK副本的Src和构建目录是分开的。我使用的链接工具是cmake
。构建工具:VS 2015
。
我的CMakeLists.txt
和VTK的缓存你可以在下面看到。
提前感谢任何建议。
的CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
set(PROJECT Pro)
project(${PROJECT})
set(BUILD_SHARED_LIBS false)
message(" BUILD_SHARED_LIBS " ${BUILD_SHARED_LIBS})
list(APPEND CMAKE_EXE_LINKER_FLAGS -static)
find_package(VTK REQUIRED)
include(${VTK_USE_FILE})
set(VTK_INCLUDE_DIRS
"D:/libs/VTK-7.1.1"
)
set(VTK_QT_INCLUDE_DIR
"D:/libs/VTK-7.1.1/GUISupport/QtOpenGL"
)
include_directories(${VTK_INCLUDE_DIRS} ${VTK_QT_INCLUDE_DIR})
# ... Local src declaration
add_executable(${PROJECT} ${PRO_APP_HEADERS}${PRO_APP_SOURCES})
if(VTK_LIBRARIES)
message("VTK_LIBRARIES is set.")
target_link_libraries(${PROJECT} ${VTK_LIBRARIES})
else(VTK_LIBRARIES)
message("! VTK_LIBRARIES are not set completely")
target_link_libraries(${PROJECT} vtkHybrid vtkWidgets)
endif(VTK_LIBRARIES)
VTK的缓存 enter image description here
答案 0 :(得分:0)
确保文件&#34; vtkGUISupportQtOpenGLModule.h&#34;实际上位于其中一个dirs($ {VTK_INCLUDE_DIRS}或$ {VTK_QT_INCLUDE_DIR})(你没有提到它是否存在),并且你有权限。
答案 1 :(得分:0)
点击VTK的CMake中的“高级”(在搜索栏旁边的顶部),您会看到更多选项。其中一个是Module_vtkGUISupportQtOpenGL,确保选中它。
在你的CMake中,我认为你的include_directories子句没有做任何事情。您链接的路径不是库,而是库的源,库的实际路径是D:\VTK_build_directory\include\vtk-7.1.1\
,其中VTK_build_directory是您构建VTK的地方(我建议使用{{1}要构建VTK,结果将在CMAKE_INSTALL_PREFIX目录中,您可以在VTK的CMake中指定。但是,无论如何都不需要它,因为您已经在使用INSTALL
,它将设置所有包含文件。因此,除非您的示例中没有其他用途,否则您可以删除整个
include(${VTK_USE_FILE})