使用gcc-8.2构建cpprestsdk时出错

时间:2019-01-25 12:26:25

标签: c++ gcc toolchain cpprest-sdk

当我尝试使用交叉编译器cpprestsdk构建gcc时,遇到以下问题:

cd /home/ubuntu/projects/cpprestsdk/Release/build_qamf-dev/src && /opt/qamf-dev/x86_64-qamf/bin/x86_64-qamf-linux-gnu-g++  -DCPPREST_EXCLUDE_BROTLI=1 -DCPPREST_FORCE_HTTP_CLIENT_ASIO -DCPPREST_FORCE_HTTP_LISTENER_ASIO -DCPPREST_NO_SSL_LEAK_SUPPRESS -Dcpprest_EXPORTS -I/home/ubuntu/projects/cpprestsdk/Release/include -I/home/ubuntu/projects/cpprestsdk/Release/src/pch -I/home/ubuntu/projects/cpprestsdk/Release/libs/websocketpp -isystem /opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/sysroot/usr/include  -std=c++11 -fno-strict-aliasing -O3 -DNDEBUG -fPIC   -Werror -pedantic -Wall -Wextra -Wunused-parameter -Wcast-align -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls -Wunreachable-code -o CMakeFiles/cpprest.dir/http/oauth/oauth2.cpp.o -c /home/ubuntu/projects/cpprestsdk/Release/src/http/oauth/oauth2.cpp
cd /home/ubuntu/projects/cpprestsdk/Release/build_qamf-dev/src && /opt/qamf-dev/x86_64-qamf/bin/x86_64-qamf-linux-gnu-g++  -DCPPREST_EXCLUDE_BROTLI=1 -DCPPREST_FORCE_HTTP_CLIENT_ASIO -DCPPREST_FORCE_HTTP_LISTENER_ASIO -DCPPREST_NO_SSL_LEAK_SUPPRESS -Dcpprest_EXPORTS -I/home/ubuntu/projects/cpprestsdk/Release/include -I/home/ubuntu/projects/cpprestsdk/Release/src/pch -I/home/ubuntu/projects/cpprestsdk/Release/libs/websocketpp -isystem /opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/sysroot/usr/include  -std=c++11 -fno-strict-aliasing -O3 -DNDEBUG -fPIC   -Werror -pedantic -Wall -Wextra -Wunused-parameter -Wcast-align -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls -Wunreachable-code -o CMakeFiles/cpprest.dir/json/json.cpp.o -c /home/ubuntu/projects/cpprestsdk/Release/src/json/json.cpp
[  7%] Building CXX object src/CMakeFiles/cpprest.dir/http/oauth/oauth1.cpp.o
cd /home/ubuntu/projects/cpprestsdk/Release/build_qamf-dev/src && /opt/qamf-dev/x86_64-qamf/bin/x86_64-qamf-linux-gnu-g++  -DCPPREST_EXCLUDE_BROTLI=1 -DCPPREST_FORCE_HTTP_CLIENT_ASIO -DCPPREST_FORCE_HTTP_LISTENER_ASIO -DCPPREST_NO_SSL_LEAK_SUPPRESS -Dcpprest_EXPORTS -I/home/ubuntu/projects/cpprestsdk/Release/include -I/home/ubuntu/projects/cpprestsdk/Release/src/pch -I/home/ubuntu/projects/cpprestsdk/Release/libs/websocketpp -isystem /opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/sysroot/usr/include  -std=c++11 -fno-strict-aliasing -O3 -DNDEBUG -fPIC   -Werror -pedantic -Wall -Wextra -Wunused-parameter -Wcast-align -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls -Wunreachable-code -o CMakeFiles/cpprest.dir/http/oauth/oauth1.cpp.o -c /home/ubuntu/projects/cpprestsdk/Release/src/http/oauth/oauth1.cpp
[ 10%] Building CXX object src/CMakeFiles/cpprest.dir/uri/uri_builder.cpp.o
[  7%] Building CXX object src/CMakeFiles/cpprest.dir/json/json_serialization.cpp.o
[  8%] Building CXX object src/CMakeFiles/cpprest.dir/uri/uri.cpp.o
In file included from /opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/include/c++/8.2.0/ext/string_conversions.h:41,
                 from /opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/include/c++/8.2.0/bits/basic_string.h:6391,
                 from /opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/include/c++/8.2.0/string:52,
                 from /home/ubuntu/projects/cpprestsdk/Release/src/pch/stdafx.h:55,
                 from /home/ubuntu/projects/cpprestsdk/Release/src/http/client/http_client_msg.cpp:13:
/opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/include/c++/8.2.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
 #include_next <stdlib.h>
               ^~~~~~~~~~
In file included from /opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/include/c++/8.2.0/ext/string_conversions.h:41,
                 from /opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/include/c++/8.2.0/bits/basic_string.h:6391,
                 from /opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/include/c++/8.2.0/string:52,
                 from /home/ubuntu/projects/cpprestsdk/Release/src/pch/stdafx.h:55,
                 from /home/ubuntu/projects/cpprestsdk/Release/src/http/client/http_client.cpp:16:
/opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/include/c++/8.2.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
 #include_next <stdlib.h>
               ^~~~~~~~~~
compilation terminated.
In file included from /opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/include/c++/8.2.0/ext/string_conversions.h:41,
                 from /opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/include/c++/8.2.0/bits/basic_string.h:6391,
                 from /opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/include/c++/8.2.0/string:52,
                 from /home/ubuntu/projects/cpprestsdk/Release/src/pch/stdafx.h:55,
                 from /home/ubuntu/projects/cpprestsdk/Release/src/http/common/http_compression.cpp:14:
/opt/qamf-dev/x86_64-qamf/x86_64-qamf-linux-gnu/include/c++/8.2.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
 #include_next <stdlib.h>
               ^~~~~~~~~~
compilation terminated.

如果我将-isystem替换为简单的-I,一切都会很好...

我知道gcc运行良好,因为我已经建立了zlib openssl opencvboost 1.69

编辑

为避免该问题,我编辑了cmake生成的Makefile,并从-isystem标志中删除了cxx

0 个答案:

没有答案