diff --git a/src/ifcparse/character_decoder.cpp b/src/ifcparse/character_decoder.cpp index f05d492b06..b354c70052 100644 --- a/src/ifcparse/character_decoder.cpp +++ b/src/ifcparse/character_decoder.cpp @@ -311,11 +311,11 @@ std::string character_decoder::get(size_t& ptr) { return s; } -template class character_decoder>; -template class character_decoder>; -template class character_decoder>; +template class IFC_PARSE_API character_decoder>; +template class IFC_PARSE_API character_decoder>; +template class IFC_PARSE_API character_decoder>; #ifdef USE_MMAP -template class character_decoder>; +template class IFC_PARSE_API character_decoder>; #endif character_encoder::character_encoder(const std::string& input) diff --git a/src/ifcparse/parse.cpp b/src/ifcparse/parse.cpp index 2638d23e8b..89e0dc278c 100644 --- a/src/ifcparse/parse.cpp +++ b/src/ifcparse/parse.cpp @@ -411,11 +411,11 @@ token spf_lexer::next() { } } -template class spf_lexer>; -template class spf_lexer>; -template class spf_lexer>; +template class IFC_PARSE_API spf_lexer>; +template class IFC_PARSE_API spf_lexer>; +template class IFC_PARSE_API spf_lexer>; #ifdef USE_MMAP -template class spf_lexer>; +template class IFC_PARSE_API spf_lexer>; #endif bool token::is_operator() { @@ -1745,7 +1745,7 @@ std::optional>; +template class IFC_PARSE_API ifcopenshell::instance_streamer>; template void ifcopenshell::impl::in_memory_file_storage::read_from_stream(Reader* s, const ifcopenshell::schema_definition*& schema, unsigned int& max_id, const std::set& typed_to_bypass) {