У меня есть программа C ++, которой нужна библиотека program_options из пакета libboost.
Я установил буст с sudo apt-get install libboost1.54-all-dev
а потом я скомпилировал свою программу с
g++ program.cpp -m64 -static -lboost_program_options -o compiled/program.out
,
Все работало нормально
Затем я хотел скомпилировать его для 32-битной, поэтому я использовал -m32
вместо -m64
,
Он сказал:
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../libboost_program_options.a when searching for -lboost_program_options
/usr/bin/ld: skipping incompatible /usr/lib/libboost_program_options.a when searching for -lboost_program_options
/usr/bin/ld: cannot find -lboost_program_options
collect2: error: ld returned 1 exit status
Затем я воспользовался Google и обнаружил, что мне нужно установить пакет boost i386 для компиляции приложений i386. Но, похоже, я не могу установить amd64 и i386 одновременно. Когда я пытаюсь установить i386, apt-get хочет удалить пакеты amd64, а когда я пытаюсь установить amd64, i386 будет удален.
Я могу скомпилировать свои приложения в i386, но мне нужно установить i386, а затем переустановить amd64 …
Надеюсь, что кто-нибудь может мне помочь с этим! Спасибо!
Задача ещё не решена.