[解決済み】Ubuntuで64bitのプログラムを32bitでクロスコンパイルすると、include "bits/c++config.h" が見つからない。
質問
Ubuntu 10.10の32bit版を使用しており、64bitターゲットにクロスコンパイルしようとしています。調査に基づいて、私はg++-multilibパッケージをインストールしました。
プログラムはとてもシンプルなハローワールドです。
#include <iostream>
int main( int argc, char** argv )
{
std::cout << "hello world" << std::endl;
return 0;
}
コンパイルします。
g++ -m64 main.cpp
エラーです。
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
compilation terminated.
を発見しました。
c++config.h
ファイルがありますが、それらは
i486-linux-gnu
と
i686-linux-gnu
ディレクトリを
/usr/include/c++/4.4/
はありません。
c++config.h
で
/usr/include/c++/bits
.
何が足りないのか、何か思い当たることはありませんか?を付けずにコンパイルすると
-m64
フラグは問題なく動作します (a.out は作成され、正しく実行されます)。
編集
nightcrackerさんのヒントのおかげで、32bitと64bitのinclude構造をもう少し調査してみました。私は
回答
の下にある "fixes" は一時的に問題を解決していますが、次のアップデートで壊れると思います。基本的に、私は
/usr/include/c++/4.4/i686-linux-gnu/64
というサブディレクトリが含まれているはずです。
bits
があり、その中に足りないインクルードファイルがあります。どのパッケージがこれを処理すべきなのか、何か見当がつきますか?
解決方法は?
この回答は、同じ問題の私の問題を解決し、私自身がこの質問をブックマークすることができるので、部分的に追加しています。
以下のようにしたら直りました。
sudo apt-get install gcc-multilib g++-multilib
のバージョンをインストールした場合
gcc
/
g++
のように、デフォルトでは出荷されないもの (たとえば
g++-4.8
の場合、バージョンも合わせたいところです。
sudo apt-get install gcc-4.8-multilib g++-4.8-multilib
関連
-
Ubuntu16 Nvidiaドライバ(GTX1060グラフィックカード)をインストールします。
-
[解決済み] 新しいJupyter Notebookを開けない[Permission Denied]。
-
error: 'strcmp' is not declared in this scope
-
エラーを解決する-bash: . /configure: パーミッションが拒否されました
-
[解決済み] ssh_init: host does not exist... PSCPを使ってubuntu EC2インスタンスにtomcat7フォルダをコピーしようとしているのですが。
-
[解決済み] スクリプトをどのユーザーで実行するか、crontabで指定するには?[クローズド]
-
[解決済み] エラー "gnu/stubs-32.h: Nachosのソースコードをコンパイルする際に "No such file or directory "というエラーが発生した。
-
[解決済み] wgetを使用してウェブサイトからすべてのファイル(ただしHTMLではない)をダウンロードする方法は?
-
[解決済み] SSHのパスワード認証を無効にする【非公開
-
[解決済み] IntelliJ Idea Ctrl+Alt+LeftのショートカットがUbuntuで機能しない件
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Nginx: stat() に失敗しました (13: 権限が拒否されました)
-
[解決済み] インストールされているすべてのOpenCVライブラリの削除
-
[解決済み] ディレクトリを作成できません。dockerコンテナ内部でパーミッションが拒否されました。
-
CurlはサーバーからEmpty replyを返すため、特殊文字の扱いができず、Curlにアクセスできない結果、ブラウザがアクセスできるようになります。
-
[解決済み] Docker - Ubuntu - bash: ping: コマンドが見つかりませんでした。
-
[解決済み] nginx - nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
-
[解決済み】pipでインストール後、"jupyter: コマンドが見つからない"
-
[解決済み】Docker コンテナからローカル/ホストの postgres データベースに接続できるようにする。
-
[解決済み] wgetを使用してウェブサイトからすべてのファイル(ただしHTMLではない)をダウンロードする方法は?
-
[解決済み] Amazon EC2 UbuntuサーバーにGUIを設置する方法