Roe*_*ven 4 64bit development debian 32bit x86
我正在研究开发一个 C++ 程序,它需要一个专有的 32 位库,并且应该在 64 位 Debian(jessie、amd64)上运行。我假设我需要创建一个 32 位可执行文件才能使用该 32 位库(或者有没有办法从 64 位可执行文件中使用该库?)
如何在 64 位 Debian 上构建我的程序?还是我应该使用 32 位 Debian 机器来构建它,然后再转移到 64 位 Debian?
我通常使用 cmake,如果这有什么不同的话。
是的,要使用 32 位库,您需要创建一个 32 位二进制文件。
在 amd64 上的 Debian 8 上,您可以使用gcc-multilib(对于 C)或g++-multilib(对于 C++)和 GCC 的-m32选项构建 32 位二进制文件。
使用 CMake,我想添加-m32到标志就足够了。可以在单个项目中为 32 位和 64 位构建设置 CMake,但它相当复杂;见rr的CMakeLists.txt一个详细的例子。
要运行32 位二进制文件,您需要为 i386 启用多架构支持:
sudo dpkg --add-architecture i386
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
然后安装适当的库,从libc6:i386和开始libstdc++6:i386。
| 归档时间: |
|
| 查看次数: |
9569 次 |
| 最近记录: |