Debian

如何在 64 位 Debian 上建構和執行 32 位軟體?

  • June 30, 2021

我正在研究開發一個需要專有 32 位庫並且應該在 64 位 Debian(jessie,amd64)上執行的 C++ 程序。我假設我需要創建一個 32 位執行檔才能使用該 32 位庫(或者有沒有辦法從 64 位執行檔中使用該庫?)

如何在 64 位 Debian 上建構我的程序?還是我應該使用 32 位的 Debian 機器來建構它,然後轉移到 64 位的 Debian 上?

我通常使用 cmake,如果這有什麼不同的話。

是的,要使用 32 位庫,您需要創建一個 32 位二進製文件。

gcc-multilib在 amd64 上的 Debian 8 上,您可以使用(for C) 或g++-multilib(for C++) 和 GCC 的-m32選項建構 32 位二進製文件。

使用 CMake,我想添加-m32到標誌就足夠了。可以在單個項目中為 32 位和 64 位建構設置 CMake,但它相當複雜;有關詳細範例,請參閱rrCMakeLists.txt

執行32 位二進製文件,您需要為 i386 啟用多架構支持:

sudo dpkg --add-architecture i386
sudo apt-get update

然後安裝適當的庫,從libc6:i386和開始libstdc++6:i386

引用自:https://unix.stackexchange.com/questions/352783