0

プロジェクトで spdlog を使用しようとしています。spdlog docuによると 、 include フォルダーの下にファイルをコピーして、C++ 11 コンパイラーを使用するだけです。

/include/spdlog フォルダーをプロジェクトのルート フォルダーにコピーしましたが、プロジェクトをビルドしようとすると多くのエラーが発生します。いくつかはffです:

/home/project/Documents/project-server/spdlog/spdlog.h:46:39: error: variable or field ‘set_error_handler’ declared void
void set_error_handler(log_err_handler);
                                   ^
/home/project/Documents/project-server/spdlog/spdlog.h:46:24: error: ‘log_err_handler’ was not declared in this scope
 void set_error_handler(log_err_handler);
                    ^
In file included from /home/project/Documents/project-server/main.cpp:13:0:
/home/project/Documents/project-server/spdlog/spdlog.h:74:79: error: ‘filename_t’ does not name a type
 std::shared_ptr<logger> basic_logger_mt(const std::string& logger_name, const filename_t& filename, bool truncate = false);
                                                                           ^
/home/project/Documents/project-server/spdlog/spdlog.h:75:79: error: ‘filename_t’ does not name a type
 std::shared_ptr<logger> basic_logger_st(const std::string& logger_name, const filename_t& filename, bool truncate = false);
                                                                           ^
/home/project/Documents/project-server/spdlog/spdlog.h:80:82: error: ‘filename_t’ does not name a type
 std::shared_ptr<logger> rotating_logger_mt(const std::string& logger_name, const filename_t& filename, size_t max_file_size, size_t max_files);

CMakeLists.txt に以下を追加しようとしました

target_include_directories(ProjectName INTERFACE spdlog)

include_directories(spdlog)

target_link_libraries(ProjectName .... -libspdlog-dev)

(libspdlog-devをインストールしました)

add_subdirectory(spdlog)

しかし、上記のいずれも機能しません。これを修正する方法を知っている人はいますか?どうもありがとう!

4

2 に答える 2