【问题标题】:How to setup QMake for a plain c++ project如何为普通的 c++ 项目设置 QMake
【发布时间】:2019-12-02 08:46:04
【问题描述】:

如何设置一个普通的 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

ma​​in.cpp

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

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

    puts("Hello, World!");

    return 0;
}

ma​​in.h

#ifndef MAIN_H
#define MAIN_H


#endif // MAIN_H

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

但毕竟,当我尝试构建/编译时,我得到了这个错误:

MSVCRTD.lib(exe_winmain.obj):-1: error: LNK2019: unresolved external 函数“int __cdecl invoke_main(void)”中引用的符号 WinMain (?invoke_main@@YAHXZ)

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

我在这里错过了什么?

【问题讨论】:

    标签: c++ windows qt qt-creator qmake


    【解决方案1】:

    我相信您需要指定这是一个控制台应用程序。您可以通过添加CONFIG += consoleCONFIG += cmdline 来做到这一点。后者在跨平台方面取代了前者。请参阅qmake variable reference

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

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

    【讨论】:

      【解决方案2】:

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

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

      .pro 文件:

      TEMPLATE = app
      CONFIG += console c++11
      CONFIG -= app_bundle
      CONFIG -= qt
      
      SOURCES += \
              main.cpp
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-06-23
        • 1970-01-01
        • 2017-07-31
        • 1970-01-01
        • 2014-06-18
        • 1970-01-01
        • 2021-06-25
        相关资源
        最近更新 更多