diff --git a/tests/manual/manual.pro b/tests/manual/manual.pro
index 413a76aff8fc0ae26d0d5914e8ac984ee4d85630..0d00d3051a8badd48af55a3ce971ff55bc8012d8 100644
--- a/tests/manual/manual.pro
+++ b/tests/manual/manual.pro
@@ -17,12 +17,10 @@ win {
 unix {
 #   Uses popen
     SUBDIRS += \
+    plain-cplusplus \
 #   Profile library paths issues
     process \
     ssh
 }
 
-# Not compiling, popen + missing includes
-# SUBDIRS += plain-cplusplus
-
 subdir_proparser.file=proparser/testreader.pro
diff --git a/tests/manual/plain-cplusplus/Preprocessor.h b/tests/manual/plain-cplusplus/Preprocessor.h
index 66eceebac725f0f622bc305e86b2771633a3cde7..ed6b8e16b0bfd3c4a0806613a72fda230e1d54f3 100644
--- a/tests/manual/plain-cplusplus/Preprocessor.h
+++ b/tests/manual/plain-cplusplus/Preprocessor.h
@@ -33,6 +33,7 @@
 #include <iosfwd>
 #include <vector>
 #include <map>
+#include <cstring>
 
 namespace CPlusPlus {
 
@@ -55,7 +56,7 @@ public:
         : _text(text), _size(size) {}
 
     StringRef(const char *text)
-        : _text(text), _size(strlen(text)) {}
+        : _text(text), _size(std::strlen(text)) {}
 
     inline const char *text() const { return _text; }
     inline unsigned size() const { return _size; }
@@ -66,7 +67,7 @@ public:
     bool operator == (const StringRef &other) const
     {
         if (_size == other._size)
-            return _text == other._text || ! strncmp(_text, other._text, _size);
+            return _text == other._text || ! std::strncmp(_text, other._text, _size);
 
         return false;
     }