Jadi, saya sudah menginstal 32-bit Xubuntu 14.04.1. Kami memiliki beberapa kode antarmuka tempat kami bermaksud merilis SO untuk berbagai platform yang kami dukung, dan Windows DLL. (Ya saya tahu, rilis biner buruk, tetapi juga tidak relevan di sini.)
Saya mencoba untuk membangun SO 32-bit dan 64-bit dengan 32-bit 14.04.01, menggunakan argumen -m32
/ -m64
gcc / g ++. Versi 32-bit berfungsi dengan baik, tetapi versi 64-bit gagal
/usr/include/c++/4.8/string:38:28: fatal error: bits/c++config.h: No such file or directory
Memeriksa di termasuk, file itu benar-benar ada untuk 32-bit tetapi hilang untuk 64-bit.
Googling masalah, ini tampaknya telah terjadi di masa lalu untuk GCC / G ++ 4.6, tetapi kemudian ditandai sebagai diperbaiki. Tapi 14.04.1 menggunakan GCC / G ++ 4.8, yang menunjukkan ada regresi di perpustakaan tersebut di GCC / G ++ 4.8. Apakah ini sesuatu yang dilihat orang lain?
Saya bisa mengatur VM baru untuk 64-bit 14.04.1 jika perlu dan melihat apakah itu akan mengambil versi perpustakaan yang tepat. Saya lebih suka tidak jika memungkinkan, karena saya punya banyak hal lain yang harus saya instal ulang juga. Apakah ada solusi yang lebih baik? Dan jika saya menginstal 64-bit 14.04.1, apakah saya dapat melakukan kompilasi silang kembali ke 32-bit tanpa ada header yang hilang di arah yang lain?
g++-multilib
paket?Jawaban:
File config.h 64-bit bits / c ++ disediakan pada sistem 32-bit (dan sebaliknya) dengan menginstal
g++-multilib
paket, jadi Anda perlu menginstal paket itu baik menggunakan Software Center, Synaptic, atau melalui terminal menggunakanIni hanya paket dependensi yang diselesaikan
g++-4.8-multilib
untuk versi gcc / g ++ default, dan pada gilirannya tergantung padalib64stdc++-4.8-dev
(kompilasi 64-bit pada 32-bit) ataulibx32stdc++-4.8-dev
(kompilasi 32-bit pada 64-bit) - ini adalah yang berisi file header yang sebenarnya.Ada satu set paket yang setara untuk kompiler C biasa
gcc
.sumber
sudo apt-get install g++-5-multilib
mendapatkan saya versi yang saya butuhkan. Jika ini tidak berhasil untuk Anda, perhatikansudo add-apt-repository ppa:ubuntu-toolchain-r/test && sudo apt-get update
juga bagian dari konfigurasi saya.