MantisBT

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003147VCMIOtherpublic2020-10-05 23:532020-10-06 06:22
Reporterjambolo 
Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusnewResolutionopen 
PlatformMSVCOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0003147: DLL dependency issues
DescriptionThere are several hundred instances of this warning:

warning C4251: 'type1' needs to have dll-interface to be used by clients of class 'type2'
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0007937)
jambolo (reporter)
2020-10-05 23:58

As well as several hundred of this warning:

warning C4275: non dll-interface class 'type1' used as base for dll-interface class 'type2'
(0007938)
jambolo (reporter)
2020-10-06 00:01

And this warning:

warning C4910: 'boost::iostreams::stream<FileBuf,std::char_traits<char>,std::allocator<char>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation
(0007939)
jambolo (reporter)
2020-10-06 06:18
edited on: 2020-10-06 06:22

Regarding warning C4251: 'type1' needs to have dll-interface to be used by clients of class 'type2':

This is a problem for C++ standard library. Because much of it is template-based, any differences in configurations (e.g. Debug vs. Release) when building the DLLs can cause bugs and crashes.

Unless somebody has a better solution, the only solution I know of is to remove any C++ standard library features from the DLL interface.


- Issue History
Date Modified Username Field Change
2020-10-05 23:53 jambolo New Issue
2020-10-05 23:58 jambolo Note Added: 0007937
2020-10-06 00:01 jambolo Note Added: 0007938
2020-10-06 06:18 jambolo Note Added: 0007939
2020-10-06 06:22 jambolo Note Edited: 0007939 View Revisions

Site | Forums | Wiki | Slack | GitHub


Copyright © 2000 - 2020 MantisBT Team
Hosting provided by DigitalOcean