Эта программа компилируется нормально:Ошибка компиляции при включении усиления/program_options.hpp
#include <iostream>
#include <stdio.h>
#include <boost/program_options.hpp>
int main(int argc, char* argv[]) {
std::cout << "Hello world" << std::endl;
}
Эта программа дает длинную ошибку компиляции:
#include <iostream>
namespace cio {
#include <stdio.h>
}
#include <boost/program_options.hpp>
int main(int argc, char* argv[]) {
std::cout << "Hello world" << std::endl;
}
Полный дамп ошибки компиляции: http://codepad.org/aIcQqkgH
Команда linux, которую я использую для компиляции программы: C++ -o main.cpp.o -c main.cpp
@ hosch250 Почему? namespace cio {#include} работает просто отлично, как и следовало ожидать. Программа не скомпилируется до тех пор, пока вы не добавите строку: #include –
related: http://stackoverflow.com/questions/12324302/is-it-ok-to-put-a -standard-pure-c-header-include-directive-inside-a-namespace (и многие другие). Короче: не делайте этого. – Rapptz