Ответ двоякий: есть две функции с похожими именами: wxMkdir and wxMkDir, причем первая документально оформлена, а вторая не документирована. Вторая часть состоит в том, что кажущаяся действительная презумпция того, что они будут вести себя одинаково, не является допустимым предположением.
Недокументированная функция wxMkDir сопоставляется с wxCRT_MkDir, которая, в свою очередь, сопоставляется с wxCRT_MkDirA, а затем с wxPOSIX_IDENT (mkdir), которая создает зависимое от платформы имя для упомянутой функции POSIX, mkdir. Согласно POSIX documentation for mkdir
После успешного завершения MkDir() возвращает 0. В противном случае -1 должна быть возвращена, каталог не должен быть создан, и ERRNO должны быть установлены, чтобы указать ошибку.
Так, условными, как:
if (!wxMkDir(newDir)) {
// handle the error here
}
потерпит неудачу, но:
if (wxMkDir(newDir) != 0) {
// handle the error here
}
будет работать, как ожидалось на основе того, был ли создан каталог или нет.
Документированная функция wxMkdir реализована в исходном файле wx filefn.cpp и использует mkdir, но с условными выражениями, подобными приведенным выше, для сопоставления с соответствующим возвращаемым значением bool.
Благодарим за информацию. Иногда полезно понять, почему все стало таким, каким они есть, вместо того, чтобы оставаться в стороне. Таким образом, вверх. :) – hlongmore