在cygwin中测试新的boost安装时出现cpp错误
cpp error while testing new boost install in cygwin
我已经通过下载并解压缩以下位置的boost_1_67_0.tar.bz2
文件安装了boost:
/cygdrive/c/no_admin_programs/boost_1_67_0
我已经在test.cpp文件中输入了以下内容:
#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>
int main()
{
using namespace boost::lambda;
typedef std::istream_iterator<int> in;
std::for_each(
in(std::cin), in(), std::cout << (_1 * 3) << " ");
}
并在终端中输入以下内容:
c++ -I /cygdrive/c/no_admin_programs/boost_1_67_0 test.cpp
As a result, the following error is shown:
In file included from /usr/lib/gcc/x86_64-pc-cygwin/7.3.0/include/c++/cstdlib:75:0,
from /usr/lib/gcc/x86_64-pc-cygwin/7.3.0/include/c++/bits/stl_algo.h:59,
from /usr/lib/gcc/x86_64-pc-cygwin/7.3.0/include/c++/algorithm:62,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/core/swap.hpp:25,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/utility/swap.hpp:15,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/tuple/detail/tuple_basic.hpp:40,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/tuple/tuple.hpp:28,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/lambda/core.hpp:30,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/lambda/lambda.hpp:14,
from test.cpp:1:
/usr/include/stdlib.h:91:7: error: expected initializer before ‘__alloc_size2’
__alloc_size2(1, 2) _NOTHROW;
^~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-cygwin/7.3.0/include/c++/cstdlib:75:0,
from /usr/lib/gcc/x86_64-pc-cygwin/7.3.0/include/c++/bits/stl_algo.h:59,
from /usr/lib/gcc/x86_64-pc-cygwin/7.3.0/include/c++/algorithm:62,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/core/swap.hpp:25,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/utility/swap.hpp:15,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/tuple/detail/tuple_basic.hpp:40,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/tuple/tuple.hpp:28,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/lambda/core.hpp:30,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/lambda/lambda.hpp:14,
from test.cpp:1:
/usr/include/stdlib.h:144:63: error: expected initializer before ‘__alloc_size2’
void *reallocarray(void *, size_t, size_t) __result_use_check __alloc_size2(2, 3);
^~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-cygwin/7.3.0/include/c++/bits/stl_algo.h:59:0,
from /usr/lib/gcc/x86_64-pc-cygwin/7.3.0/include/c++/algorithm:62,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/core/swap.hpp:25,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/utility/swap.hpp:15,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/tuple/detail/tuple_basic.hpp:40,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/tuple/tuple.hpp:28,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/lambda/core.hpp:30,
from /cygdrive/c/no_admin_programs/boost_1_67_0/boost/lambda/lambda.hpp:14,
from test.cpp:1:
/usr/lib/gcc/x86_64-pc-cygwin/7.3.0/include/c++/cstdlib:138:11: error: ‘::calloc’ has not been declared
using ::calloc;
^~~~~~
我尝试过将<cstdlib>
包括在内,但没有成功。如有任何协助,我们将不胜感激。
如果您也安装了cygwin上提供的boost包没有必要尝试使用boost_1_67_.tar.bz2
$ cygcheck -c libboost-devel
Cygwin Package Information
Package Version Status
libboost-devel 1.66.0-1 OK
您的程序只需即可正常工作
$ c++ test.cpp
$ ./test.exe
4
12 5
15 7
21 9
27
相关文章:
- 在cygwin中测试新的boost安装时出现cpp错误
- holeMenuProgram.cpp:38:1 错误:'}'令牌之前的预期主表达式
- .h 和.cpp文件分离时出错,但仅使用 .h 文件时没有错误.我做错了什么?
- 输出错误,问题是找到总和5000位数字cpp
- 套接字连接"Operation not permitted"错误,甚至使用升压/平发器根.cpp
- 在头文件和 cpp 文件中使用一次 #pragma 时出现结构重定义错误
- 我在 .h 中有一个枚举类,并且在.cpp错误中有一个运算符重载:与"运算符<<不匹配
- 主.cpp:18:20:错误:从"int*"转换为"int"会失去精度 [-fa
- C++ 编译器错误:P1LinkedList.cpp:145:错误:重载的"to_string(int&)"调用不明确
- 处理简单 cpp 类构造函数中的错误
- CMake 错误:链接器命令失败,退出代码为 1 和 cpp.o 文件
- 创建 OpenCV 非自由版本 v4.3 时出错,可折叠.cpp错误 C2039、2605
- 在调试模式下编译时qrc_resource.cpp错误
- Cpp 错误中的<<运算符
- CPP 错误 LNK2019:未解析的外部符号 CPP
- CS106b 库矢量.cpp错误 C2143:语法错误:'<'之前缺少';'
- 重载新运算符时的 CPP 错误
- .cpp错误:与"std::cerr "中的"运算符<"不匹配<"正在转换文件 \" ""
- Cpp错误,包括Visual studio 2012中的多个文件
- 编译cocos2d-x插件时出现Cpp错误