2015-07-11 57 views
0

我试图在使用jetbrains Clion IDE的windows 8.1中设置Qt,但是在编译一个简单的测试项目后它不显示任何内容。这是我的main.cpp文件:为Windows准备Qt

#include <QApplication> 
#include <QtWidgets/qpushbutton.h> 

int main(int argc, char **argv) 
{ 
    QApplication *app = new QApplication(argc, argv); 
    QPushButton *X = new QPushButton("test"); 
    X->show(); 
    return app->exec(); 
} 

这是我CMakeLists.txt文件:

cmake_minimum_required(VERSION 3.2) 
project(QtTest) 

set(CMAKE_PREFIX_PATH "C:\\Qt\\Qt5.5.0\\5.5\\mingw492_32\\") 
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 
set(CMAKE_AUTOMOC ON) 
set(CMAKE_INCLUDE_CURRENT_DIR ON) 

set(SOURCE_FILES main.cpp) 
add_executable(QtTest WIN32 ${SOURCE_FILES}) 

find_package(Qt5Core REQUIRED) 
find_package(Qt5Widgets REQUIRED) 
find_package(Qt5Gui REQUIRED) 
find_package(Qt5Multimedia REQUIRED) 

qt5_use_modules(QtTest Core Widgets Gui Multimedia) 
target_link_libraries(QtTest Qt5::Widgets Qt5::Gui Qt5::Core Qt5::Multimedia) 

输出:

Process finished with exit code -1073741515 (0xC0000135) 

现在我想一些帮助来解决这个问题。

+1

它看起来像崩溃了,你的调试器说什么? – cmannett85

+0

@ cmannett85你是什么意思的“调试器”?运行后只显示这个错误 – kahrabian

+0

* Off topic#1 *:注意''app'和'X'变量在这段代码中没有被释放,这是内存泄漏。 – kefir500

回答

0

显式内存管理是不必要的。你也不需要使用明确的Qt模块前缀 - 如果你这样做,构建配置不正确。最后,千万不要使用qclass.h包括,使用QClass

您的代码应如下所示。当您的环境配置正确时,应该构建并运行而不会出现任何错误。

#include <QApplication> 
#include <QPushButton> 

int main(int argc, char **argv) 
{ 
    QApplication app(argc, argv); 
    QPushButton button("test"); 
    button.show(); 
    return app.exec(); 
}