Marked Parser, Emitter, Node, Iterator, Mark, and Null for exporting to a DLL. It appears to work properly, although VS gives me lots of warning C4251 since I didn't export all data members of each of the above classes.

It seems that it's not necessary to export those members (as long as you can't access them), and most of them are STL instances, which apparently cause lots of problems for DLLs. (For example, you simply can't export instances of std::map; see http://support.microsoft.com/kb/168958.)
This commit is contained in:
Jesse Beder
2011-03-16 02:31:30 +00:00
parent 221d17b0c6
commit c67b41c966
10 changed files with 77 additions and 30 deletions

View File

@@ -6,17 +6,19 @@
#endif
#include "yaml-cpp/dll.h"
namespace YAML
{
class Node;
struct _Null {};
struct YAML_CPP_API _Null {};
inline bool operator == (const _Null&, const _Null&) { return true; }
inline bool operator != (const _Null&, const _Null&) { return false; }
bool IsNull(const Node& node);
YAML_CPP_API bool IsNull(const Node& node);
extern _Null Null;
extern YAML_CPP_API _Null Null;
}
#endif // NULL_H_62B23520_7C8E_11DE_8A39_0800200C9A66