Как скомпилить под 32 бита?

По умолчанию g++ компилит, как я понимаю, под x64. Если я в опциях проекта указываю Target x86 (32bit) [-m32], выдает ошибку:

-------------- Build: Release in MergeKLists (compiler: GNU GCC Compiler)---------------

g++ -Wall -std=c++14 -m32 -fexceptions -O2  -c /home/ivan/projects/c++/proj18/main.cpp -o obj/Release/main.o
In file included from /home/ivan/projects/c++/proj18/main.cpp:17:0:
/usr/include/c++/5/iostream:38:28: fatal error: bits/c++config.h: Нет такого файла или каталога
compilation terminated.
Process terminated with status 1 (0 minute(s), 0 second(s))
1 error(s), 0 warning(s) (0 minute(s), 0 second(s))

Ubuntu 16.04.2 x64
Code::Blocks
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

Два извечных русских вопроса: кто виноват? и что делать?

Библиотеки для x86 стоят?

то есть что-то вроде пакета g++-dev:i386

На убунту как-то так: libg++-dev:i386

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.