如何为普通 C++ 项目设置 QMake

How to setup QMake for a plain c++ project

我如何设置一个普通的 c++ 项目并使用 qt creator 和 qmake 构建系统继续开发它(在 windows!)

我的 Qt Creator 可以完美地处理 qt 项目。我正在使用 MSVC2017-64 作为我的编译器。

我试过设置这样的项目

myproject.pro

CONFIG -= qt
CONFIG += c++17
DEFINES -= UNICODE QT_LARGEFILE_SUPPORT

SOURCES += \
    main.cpp

HEADERS += \
    main.h

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

main.cpp

#include "main.h"
#include <iostream>

int main(int argsCount, char** argsArray) {

    puts("Hello, World!");

    return 0;
}

main.h

#ifndef MAIN_H
#define MAIN_H


#endif // MAIN_H

这是我的项目页面的样子:

但毕竟当我尝试 build/compile 时,我得到了这个错误:

MSVCRTD.lib(exe_winmain.obj):-1: error: LNK2019: unresolved external symbol WinMain referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)

debug\WAVE2.exe:-1: error: LNK1120: 1 unresolved externals

我在这里错过了什么?

我认为您需要指定这是一个控制台应用程序。您可以通过添加 CONFIG += consoleCONFIG += cmdline 来完成此操作。后者取代前者 cross-platform。见 qmake variable reference.

或者,如果您的应用程序确实是一个 GUI 应用程序(但通过 Qt 以外的其他方式),您可以指定 CONFIG += windows

这两个变量都会添加您目前缺少的适当库。

除了ypnos answer,您还可以使用项目模板。

在 Qt creator > 新建项目 > 非 Qt 项目 > 普通 C++ 应用程序中。这将创建您需要的一切。

.pro 文件:

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += \
        main.cpp