По какой-то причине boost :: filesystem думает, что вы работаете в Windows, а не в Linux, и поэтому использует имена путей в стиле Windows (разделенные \).Можете ли вы опубликовать немного больше информации о том, как вы строите Boost и как вы включаете заголовки?Возможно, вы создаете версию Boost для Windows для Linux?
edit : я попытался настроить себя в конфигурации, максимально приближенной к вашей.Ubuntu 9.10, libboost1.40-all-dev установлен.Когда я компилирую и запускаю следующую программу, она работает как положено, создавая каталог с именем configSet
в /data
.
#include <boost/filesystem.hpp>
int main() {
boost::filesystem::path p("/data/configSet");
boost::filesystem::create_directory(p);
return 0;
}
Можете ли вы попробовать скомпилировать и запустить эту программу с помощью следующих команд, ипосмотреть, если это даст вам разные результаты?
$ g++ -o boost-filesystem -lboost_filesystem boost-filesystem.cpp
$ ./boost-filesystem