簡體   English   中英

如何在基於 Qt qmake 的項目中使用 CuteLogger?

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

我能夠使用 cmake 構建一個 Qt CuteLogger 項目。 以下是代碼,幾乎是https://github.com/dept2/CuteLogger中解釋的內容。

我想我也可以在非 cmake 項目中使用 cutelogger,比如 qmake 甚至在 Visual Studio 中。 我可以詢問有關如何執行此操作的說明嗎?

我是 cmake 的新手。

主文件

#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

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)

一個簡單的解決方案是創建包含 .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

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

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