[英]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.