简体   繁体   English

如何在基于 Qt qmake 的项目中使用 CuteLogger?

[英]How to use CuteLogger in Qt qmake based project?

I was able to build a Qt CuteLogger project using cmake.我能够使用 cmake 构建一个 Qt CuteLogger 项目。 Following is the code, pretty much what is explained in https://github.com/dept2/CuteLogger .以下是代码,几乎是https://github.com/dept2/CuteLogger中解释的内容。

I guess I can also use cutelogger in non cmake projects, like qmake or even in visual studio.我想我也可以在非 cmake 项目中使用 cutelogger,比如 qmake 甚至在 Visual Studio 中。 May I ask for instructions on how to do that?我可以询问有关如何执行此操作的说明吗?

I'm new to both cmake.我是 cmake 的新手。

main.cpp主文件

#include <QCoreApplication>
#include <Logger.h>
#include <ConsoleAppender.h>

int main(int argc, char* argv[])
{
  QCoreApplication app(argc, argv);

  ConsoleAppender* consoleAppender = new ConsoleAppender;
  consoleAppender->setFormat("[%{type:-7}] <%{Function}> %{message}\n");
  cuteLogger->registerAppender(consoleAppender);

  LOG_INFO("Starting the application");
  int result = app.exec();

  if (result)
    LOG_WARNING() << "Something went wrong." << "Result code is" << result;
  return result;
}

CMakeLists.txt CMakeLists.txt

cmake_minimum_required(VERSION 3.14)

project(untitled3 LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Qt5Core)

add_executable(untitled3
  main.cpp
)

target_link_libraries(untitled3 Qt${QT_VERSION_MAJOR}::Core)

ADD_SUBDIRECTORY(Logger)

TARGET_LINK_LIBRARIES(untitled3 CuteLogger)

A simple solution is to create a.pri that includes the.cpp and.h:一个简单的解决方案是创建包含 .cpp 和 .h 的 a.pri:

├── 3rdParty
│   ├── CuteLogger
│   │   ├── CMakeLists.txt
│   │   ├── CuteLogger.pro
│   │   ├── CuteLogger.qbs
│   │   ├── Doxyfile
│   │   ├── include
│   │   │   ├── AbstractAppender.h
│   │   │   ├── AbstractStringAppender.h
│   │   │   ├── AndroidAppender.h
│   │   │   ├── ConsoleAppender.h
│   │   │   ├── CuteLogger_global.h
│   │   │   ├── FileAppender.h
│   │   │   ├── Logger.h
│   │   │   ├── OutputDebugAppender.h
│   │   │   └── RollingFileAppender.h
│   │   ├── LICENSE.LGPL
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── AbstractAppender.cpp
│   │   │   ├── AbstractStringAppender.cpp
│   │   │   ├── AndroidAppender.cpp
│   │   │   ├── ConsoleAppender.cpp
│   │   │   ├── FileAppender.cpp
│   │   │   ├── Logger.cpp
│   │   │   ├── OutputDebugAppender.cpp
│   │   │   └── RollingFileAppender.cpp
│   │   └── test
│   │       └── basictest.cpp
│   └── CuteLogger.pri
├── 65231036.pro
└── main.cpp

CuteLogger.pri CuteLogger.pri

INCLUDEPATH += $$PWD/CuteLogger/include

SOURCES += $$PWD/CuteLogger/src/Logger.cpp \
           $$PWD/CuteLogger/src/AbstractAppender.cpp \
           $$PWD/CuteLogger/src/AbstractStringAppender.cpp \
           $$PWD/CuteLogger/src/ConsoleAppender.cpp \
           $$PWD/CuteLogger/src/FileAppender.cpp \
           $$PWD/CuteLogger/src/RollingFileAppender.cpp

HEADERS += $$PWD/CuteLogger/include/Logger.h \
           $$PWD/CuteLogger/include/CuteLogger_global.h \
           $$PWD/CuteLogger/include/AbstractAppender.h \
           $$PWD/CuteLogger/include/AbstractStringAppender.h \
           $$PWD/CuteLogger/include/ConsoleAppender.h \
           $$PWD/CuteLogger/include/FileAppender.h \
           $$PWD/CuteLogger/include/RollingFileAppender.h

win32 {
    SOURCES += $$PWD/CuteLogger/src/OutputDebugAppender.cpp
    HEADERS += $$PWD/CuteLogger/include/OutputDebugAppender.h
}

android {
    SOURCES += $$PWD/CuteLogger/src/AndroidAppender.cpp
    HEADERS += $$PWD/CuteLogger/include/AndroidAppender.h
}

* .pro * .pro

QT -= gui

CONFIG += c++11 console
CONFIG -= app_bundle

SOURCES += main.cpp

include(3rdParty/CuteLogger.pri)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM