diff --git a/libraries/libmdb/mdb.h b/libraries/libmdb/mdb.h
index fa6daf672b69129d18573aa53e098c26ce774fe8..45f7704903cb7ac901e16dd9164962658fd73dcb 100644
--- a/libraries/libmdb/mdb.h
+++ b/libraries/libmdb/mdb.h
@@ -65,6 +65,10 @@
 
 #include <sys/types.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /** @defgroup public Public API
  *	@{
  */
@@ -976,4 +980,8 @@ int  mdb_cmp(MDB_txn *txn, MDB_dbi dbi, const MDB_val *a, const MDB_val *b);
 	 */
 int  mdb_dcmp(MDB_txn *txn, MDB_dbi dbi, const MDB_val *a, const MDB_val *b);
 /**	@} */
+
+#ifdef __cplusplus
+}
+#endif
 #endif /* _MDB_H_ */
diff --git a/libraries/libmdb/midl.h b/libraries/libmdb/midl.h
index beafb097c0b2355f197e8cb0707475d4da512043..59ed8cb66084af8da27a98de747d5526aead714b 100644
--- a/libraries/libmdb/midl.h
+++ b/libraries/libmdb/midl.h
@@ -28,6 +28,10 @@
 
 #include <stddef.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /** @defgroup internal	MDB Internals
  *	@{
  */
@@ -178,4 +182,7 @@ int mdb_mid2l_insert( ID2L ids, ID2 *id );
 
 /** @} */
 /** @} */
+#ifdef __cplusplus
+}
+#endif
 #endif	/* _MDB_MIDL_H_ */