Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ MinGW包含路径冲突_C++_Mingw_Mingw W64 - Fatal编程技术网

C++ MinGW包含路径冲突

C++ MinGW包含路径冲突,c++,mingw,mingw-w64,C++,Mingw,Mingw W64,我正在尝试使用MinGW-w64在Linux for Win64上进行交叉编译。这是我的密码 #include <cstdlib> #include <iostream> #include <boost/uuid/uuid.hpp> #include <boost/uuid/uuid_generators.hpp> #include <boost/uuid/uuid_io.hpp> int main(int argc, char**

我正在尝试使用MinGW-w64在Linux for Win64上进行交叉编译。这是我的密码

#include <cstdlib>
#include <iostream>

#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_generators.hpp>
#include <boost/uuid/uuid_io.hpp>

int main(int argc, char** argv)
{
    if (argc > 1)
        std::cout << std::atoi(argv[1]) << std::endl;

    std::cout << boost::uuids::random_generator()() << std::endl;

    return 0;
}

MinGW的
cstdlib
包含
/usr/include/stdlib.h
,而不是
/usr/x86_64-w64-mingw32/include/stdlib.h
!我如何解决这个问题?我需要
-I
来包含Boost,但是MinGW不正确地包含其他头。

您不能使用/usr/include中的Boost头来交叉编译windows二进制文件

您还应该交叉编译boost

有关如何在linux上交叉编译boost的详细信息,请参阅本指南(这是针对vle的,但第一部分是关于boost的):

更新:鉴于指南有点旧,链接到boost文档是有意义的:


不能使用/usr/include中的boost头来交叉编译windows二进制文件

您还应该交叉编译boost

有关如何在linux上交叉编译boost的详细信息,请参阅本指南(这是针对vle的,但第一部分是关于boost的):

更新:鉴于指南有点旧,链接到boost文档是有意义的:


不能使用/usr/include中的boost头来交叉编译windows二进制文件

您还应该交叉编译boost

有关如何在linux上交叉编译boost的详细信息,请参阅本指南(这是针对vle的,但第一部分是关于boost的):

更新:鉴于指南有点旧,链接到boost文档是有意义的:


不能使用/usr/include中的boost头来交叉编译windows二进制文件

您还应该交叉编译boost

有关如何在linux上交叉编译boost的详细信息,请参阅本指南(这是针对vle的,但第一部分是关于boost的):

更新:鉴于指南有点旧,链接到boost文档是有意义的:


boost还必须交叉编译,/usr/include中的头仅适用于linux(最佳猜测)耶,如果您从linux复制boost include文件,它将不起作用。boost还必须交叉编译,/usr/include中的头仅适用于linux(最佳猜测)耶,如果从Linux复制Boost include文件,它将不起作用。Boost还必须交叉编译,/usr/include中的头仅适用于Linux(最佳猜测)耶,如果从Linux复制Boost include文件,它将不起作用。Boost还必须交叉编译,/usr/include中的头仅适用于Linux(最佳猜测)耶,如果您从Linux复制Boost include文件,它将不起作用。我想这适用于所有非标准库?这将需要大量的交叉编译。我想这适用于所有非标准库?这将需要大量的交叉编译。我想这适用于所有非标准库?这将需要大量的交叉编译。我想这适用于所有非标准库?这将需要大量的交叉编译。
$ x86_64-w64-mingw32-c++ hello.cpp
hello.cpp:4:31: fatal error: boost/uuid/uuid.hpp: No such file or directory
 #include <boost/uuid/uuid.hpp>
                               ^
$ x86_64-w64-mingw32-c++ -I/usr/include hello.cpp
In file included from /usr/include/stdlib.h:314:0,
             from /usr/x86_64-w64-mingw32/include/c++/4.9.1/cstdlib:72,
             from hello.cpp:1:
/usr/include/sys/types.h:109:19: error: conflicting declaration ‘typedef __ssize_t ssize_t’
 typedef __ssize_t ssize_t;
                   ^