From 5eefa061c1536cec91afd9e7a6f4a7587346f5f2 Mon Sep 17 00:00:00 2001 From: gazelleguardian Date: Mon, 6 Dec 2021 03:54:47 +0100 Subject: [PATCH] Fix building on windows with clang and msvc --- CMakeLists.txt | 2 +- include/io/stream_writer.h | 1 + include/tag_array.h | 5 ----- include/tag_list.h | 2 +- src/tag_array.cpp | 5 +++++ 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1faa5dc..fafeae4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,7 +57,7 @@ if(DEFINED NBT_DEST_DIR) endif() if(NBT_USE_ZLIB) - target_link_libraries(${NBT_NAME} z) + target_link_libraries(${NBT_NAME} ZLIB::ZLIB) endif() set_property(TARGET ${NBT_NAME} PROPERTY CXX_STANDARD 11) generate_export_header(${NBT_NAME} BASE_NAME nbt) diff --git a/include/io/stream_writer.h b/include/io/stream_writer.h index b10f03a..a69508f 100644 --- a/include/io/stream_writer.h +++ b/include/io/stream_writer.h @@ -23,6 +23,7 @@ #include "tag.h" #include "endian_str.h" #include +#include namespace nbt { diff --git a/include/tag_array.h b/include/tag_array.h index 6e6a92b..bed84d8 100644 --- a/include/tag_array.h +++ b/include/tag_array.h @@ -126,11 +126,6 @@ typedef tag_array tag_byte_array; typedef tag_array tag_int_array; typedef tag_array tag_long_array; -//Explicit instantiations -template class NBT_EXPORT tag_array; -template class NBT_EXPORT tag_array; -template class NBT_EXPORT tag_array; - } #endif // TAG_ARRAY_H_INCLUDED diff --git a/include/tag_list.h b/include/tag_list.h index ecd7e89..e2c9b7b 100644 --- a/include/tag_list.h +++ b/include/tag_list.h @@ -215,7 +215,7 @@ void tag_list::init(std::initializer_list init) el_type_ = T::type; tags.reserve(init.size()); for(const Arg& arg: init) - tags.emplace_back(make_unique(arg)); + tags.emplace_back(nbt::make_unique(arg)); } } diff --git a/src/tag_array.cpp b/src/tag_array.cpp index 4a1668a..a48f52a 100644 --- a/src/tag_array.cpp +++ b/src/tag_array.cpp @@ -126,4 +126,9 @@ void tag_array::write_payload(io::stream_writer& writer) const writer.write_num(i); } +//Explicit instantiations +template class NBT_EXPORT tag_array; +template class NBT_EXPORT tag_array; +template class NBT_EXPORT tag_array; + }