【发布时间】:2014-11-16 06:05:35
【问题描述】:
这个程序编译得很好:
#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 -
相关:stackoverflow.com/questions/12324302/…(以及许多其他人)。简而言之:不要这样做。