当qt插件在Windows中不起作用时,如何在eclipse cdt中创建qt应用程序

How to create qt application in eclipse cdt when qt plugin not working in windows

本文关键字:qt eclipse cdt 创建 应用程序 插件 Windows 不起作用      更新时间:2023-10-16

我安装了诺基亚qt插件

Qt C++ Eclipse Integration
Version: 1.6.1

但它在 Eclipse MARS 2 (4.5.2) 中不起作用。我还安装了qt 5.6。

所以我需要以某种方式配置我的 cdt 项目以查看 qt 库。要使

#include <QApplication>

工作并且还要使项目成功构建。

怎么做?

我试图将 C:\Qt\5.6\mingw49_32\include 添加到项目包含目录中,但

#include <QApplication>

不工作。

我无法为 qmake 生成的制作文件使用导入的制作文件项目,因为对于每个 .o 文件条目,它包含

release/EntryPoint.o: EntryPoint.cpp bios/Bios.hpp 
...
        ../../../../Qt/5.6/mingw49_32/include/QtWidgets/QLabel 
        ../../../../Qt/5.6/mingw49_32/include/QtWidgets/qlabel.h 
... 100 of lines here

对于项目中每个添加的 cpp 文件,如果没有外部 hepl,这 100 行将不会显示。将生成文件导入 eclipse 会为项目提供不起作用的包含。

有没有办法让qt与任何版本的eclipse一起工作?

使用 cmake 可以解决创建所需项目的问题。如果您使用的是*nix Makefiles,nmake,Visual Studio或其他任何东西,这应该无关紧要。

编辑:我刚刚检查了它是否与 CMake 一起工作。安装 Qt 5.6 mingw49 和 Eclipse 4.5.2。使用 cmake 3.5.1 创建项目后,我导入了它,它编译得很好!Path 变量有问题,但将 exe 复制到 Qt 的 bin 文件夹可以工作(没有时间检查问题是什么)。

以下是cmake和Qt的起点:

PROJECT(minimal)
add_definitions(-DUSE_QT)
set (CMAKE_PREFIX_PATH "C://Qt//5.6//mingw49_32")
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Core REQUIRED)
INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
FILE(GLOB HEADER_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*.h" "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
FILE(GLOB CPP_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
FILE(GLOB UI_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*.ui")
FILE(GLOB RC_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*.qrc")

QT5_ADD_RESOURCES(ENTITY_DEBUGGER_RC_SRCS ${RC_FILES} )
QT5_WRAP_UI( ENTITY_DEBUGGER_UI_HDRS ${UI_FILES})
ADD_EXECUTABLE( minimal 
            ${CPP_FILES}
            ${ENTITY_DEBUGGER_RC_SRCS} 
            ${ENTITY_DEBUGGER_UI_HDRS} 
            ${HEADER_FILES} 
            )
SET_TARGET_PROPERTIES(minimal PROPERTIES DEBUG_POSTFIX _d)

qt5_use_modules(minimal Widgets Core)

INSTALL(TARGETS minimal
  RUNTIME DESTINATION bin
  LIBRARY DESTINATION lib
  ARCHIVE DESTINATION lib
  )

PS:我非常同意Eclipse不是最好的IDE。还有其他一些免费的IDE(VS,QtCreator,Sublime,Codeblocks等)