32ビットでプロジェクトをコンパイルすることは可能ですかとcmakeし、gcc上の64ビット・システム?おそらくそうですが、どうすればよいですか?
パラメータ/フラグなどを設定せずに「無知」な方法で試したところ、LD_LIBRARY_PATHリンクされたライブラリを見つけるように設定しただけ~/tools/libでは無視され、名前の付いたサブディレクトリのみが表示されます。 lib64ます。
32ビットでプロジェクトをコンパイルすることは可能ですかとcmakeし、gcc上の64ビット・システム?おそらくそうですが、どうすればよいですか?
パラメータ/フラグなどを設定せずに「無知」な方法で試したところ、LD_LIBRARY_PATHリンクされたライブラリを見つけるように設定しただけ~/tools/libでは無視され、名前の付いたサブディレクトリのみが表示されます。 lib64ます。
回答:
export CFLAGS=-m32-m32はCFLAGS、おそらく設定によってに追加されるだけですCMAKE_REQUIRED_FLAGS。
                    export意味ですか?それはどこに属していますか?Teヘッダーファイル?makefile?いいえ、まったく初心者としての答えにはなりません。
                    cmake(ただし、Makefileがある場合は、make代わります)。
                    $ gcc test.c -o testc
$ファイルtestc
testc:ELF 64ビットLSB実行可能ファイル、x86-64、バージョン1(SYSV)、動的にリンク(共有ライブラリを使用)、GNU / Linux 2.6.9用、ストリップされていない
$ ldd testc 
    linux-vdso.so.1 =>(0x00007fff227ff000)
    libc.so.6 => /lib64/libc.so.6(0x000000391f000000)
    /lib64/ld-linux-x86-64.so.2(0x000000391ec00000)
$ gcc -m32 test.c -o testc
$ファイルtestc
testc:ELF 32ビットLSB実行可能ファイル、Intel 80386、バージョン1(SYSV)、動的にリンク(共有ライブラリを使用)、GNU / Linux 2.6.9用、ストリップされていない
$ ldd testc
    linux-gate.so.1 =>(0x009aa000)
    libc.so.6 => /lib/libc.so.6(0x00780000)
    /lib/ld-linux.so.2(0x0075b000)
つまり、-m32フラグを使用して32ビットのバイナリをコンパイルします。
また、必要なすべてのライブラリの32ビットバージョンがインストールされていることを確認してください(私の場合、Fedoraで必要なのはglibc-devel.i386だけでした)。
sudo apt-get install gcc-multilib
                    CMakeの新しいバージョンでは、各ターゲットでそれを行う1つの方法は次のとおりです。
set_target_properties(MyTarget PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32")
私はそれをグローバルに行う方法を知りません。
cmake -D CMAKE_CXX_FLAGS=-m32 . && make
                    1つの方法は、chroot環境をセットアップすることです。Debianにはそのための多くのツールがあります。たとえば、debootstrap
複雑なアプリケーションの場合は、lxcコンテナーを使用することをお勧めします。lxcコンテナは「ステロイドのchrootと本格的な仮想マシンの中間にあるもの」です。
たとえば、Ubuntu Trustyシステムでlxcを使用して32ビットワインをビルドする方法は次のとおりです。
sudo apt-get install lxc lxc-templates
sudo lxc-create -t ubuntu -n my32bitbox -- --bindhome $LOGNAME -a i386 --release trusty
sudo lxc-start -n my32bitbox
# login as yourself
sudo sh -c "sed s/deb/deb-src/ /etc/apt/sources.list >> /etc/apt/sources.list"
sudo apt-get install devscripts
sudo apt-get build-dep wine1.7
apt-get source wine1.7
cd wine1.7-*
debuild -eDEB_BUILD_OPTIONS="parallel=8" -i -us -uc -b
shutdown -h now   # to exit the containerこれは、lxcを使用して64ビットのホストで32ビットのwineを構築する方法についてのwikiページです。
atom64ビットマシンで32ビット用のテキストエディターをコンパイルするために使用できますか?