Qt + cmake. Ошибка dllimport
Пытаюсь скомпилировать самый простой пример Qt + cmake в c++, но он выдает ошибки. CMakeLists.txt:
cmake_minimum_required(VERSION 3.16)
project(HelloWorld)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_PREFIX_PATH "G:\\qt\\5.15.2\\mingw81_64\\lib\\cmake")
# включаем путь до папки с заголовочными файлами
include_directories("E:\\g++\\тесты\\test")
set(CMAKE_AUTOMOC ON)
# включаем поиск библиотек с использованием find_package()
# через REQUIRED указываем, что библиотеки обязательны
find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
find_package(Qt5Widgets REQUIRED)
set(SOURCE_FILES main.cpp)
add_executable(HelloWorld ${SOURCE_FILES})
# указываем, какие библиотеки необходимо подключить
target_link_libraries(${PROJECT_NAME} Qt5::Core)
target_link_libraries(${PROJECT_NAME} Qt5::Gui)
target_link_libraries(${PROJECT_NAME} Qt5::Widgets)
main.h:
#ifndef MAIN_H
#define MAIN_H
#ifdef MYDLL_EXPORTS
#define MYDLL_API __declspec(dllexport)
#else
#define MYDLL_API __declspec(dllimport)
#endif
#include <QApplication>
#include <QtWidgets/QApplication>
#include <QtWidgets/QWidget>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QLabel>
#endif // MAIN_H
main.cpp:
#include "main.h"
using namespace std;
int MYDLL_API main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget widget;
widget.resize(640, 480);
widget.setWindowTitle("Hello, world!!!");
QGridLayout *gridLayout = new QGridLayout(&widget);
QLabel * label = new QLabel("Hello, world!!!");
label->setAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
gridLayout->addWidget(label);
widget.show();
app.exec();
}
Компиляция:
cmake --build . --config Release
MSBuild version 17.5.1+f6fdcf537 for .NET Framework
Automatic MOC for target HelloWorld
main.cpp
E:\g++\тесты\test\main.cpp(98,15): error C2491: main: определение dllimport функция не разрешено [E:\g++\тесты\test\bui
ld\HelloWorld.vcxproj]