cuốn sách gpt4 ai đã làm

ubuntu - 在 Ubuntu 中的 32 位上交叉编译 64 位程序时缺少包含 "bits/c++config.h"

In lại Tác giả: Vũ trụ không gian 更新时间:2023-11-03 16:39:46 27 4
mua khóa gpt4 Nike

我正在运行 32 位版本的 Ubuntu 10.10 并尝试交叉编译到 64 位目标。根据我的研究,我已经安装了 g++-multilib 包。

该程序是一个非常简单的 hello world:

#include 

int main( int argc, char** argv )
{
std::cout << "hello world" << std::endl;
return 0;
}

Biên dịch:

g++ -m64 main.cpp

sai lầm:

In file included from main.cpp:1:
/usr/include/c++/4.4/iostream:39: fatal error: bits/c++config.h: No such file or directory
quá trình biên dịch chấm dứt.

我找到了一个 c++config.h 文件,但它们位于 i486-linux-gnui686-linux-gnu 下> /usr/include/c++/4.4/ 中的目录 /usr/include/c++/bits Không cóc++config.h >.

关于我遗漏的任何想法?在没有 -m64 标志的情况下编译工作正常(a.out 已创建并正确运行)。

biên tập 感谢@nightcracker 的提示,我对 32 位和 64 位系统上的包含结构做了更多调查。我添加了一个 trả lời下面暂时“修复”了问题,但我认为它会在下一次更新时中断。基本上,我缺少一个名为 /usr/include/c++/4.4/i686-linux-gnu/64 的目录,该目录应该包含一个名为 bits 的子目录,其中缺少包含文件。知道应该用什么包来处理这个问题吗?

câu trả lời hay nhất

部分添加这个答案是因为它解决了我的同一个问题,所以我可以自己为这个问题添加书签。

我能够通过执行以下操作来修复它:

sudo apt-get install gcc-multilib g++-multilib

如果您安装了 gcc/g++ 默认情况下不提供的版本(例如 lucid 上的 g++-4.8 ) 您还需要匹配版本:

sudo apt-get install gcc-4.8-multilib g++-4.8-multilib

关于ubuntu - 在 Ubuntu 中的 32 位上交叉编译 64 位程序时缺少包含 "bits/c++config.h",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4643197/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress