64ビットマシンで32ビットプログラムをコンパイル
1622 ワード
プログラム移行のため、64 bit開発機で32 bitのプログラムをコンパイルする必要があります.
64ビットのマシンで32ビットプログラムをコンパイルするか62ビットプログラムをコンパイルするかは、主にコンパイラとリンクにパラメータを追加する:-m 32(コンパイル32ビット)-m 64(コンパイル64)
自分のmakefileに
./bjam toolset=gcc --prefix=**** --layout=versioned --build-type=complete --with-system
address-model=32
install
Autotoolsを使用したオープンソースライブラリのコンパイル:
./configure --help
次の情報が表示されます.
--host=HOST cross-compile to build programs to run on HOST [BUILD]Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor
したがって、次のようになります.
./configure --prefix=**** --host=i686-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
make && make install
64ビットのマシンで32ビットプログラムをコンパイルするか62ビットプログラムをコンパイルするかは、主にコンパイラとリンクにパラメータを追加する:-m 32(コンパイル32ビット)-m 64(コンパイル64)
自分のmakefileに
"CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
を追加すればよい boost , 32bit boost :
./bjam toolset=gcc --prefix=**** --layout=versioned --build-type=complete --with-system
address-model=32
install
Autotoolsを使用したオープンソースライブラリのコンパイル:
./configure --help
次の情報が表示されます.
--host=HOST cross-compile to build programs to run on HOST [BUILD]Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor
したがって、次のようになります.
./configure --prefix=**** --host=i686-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
make && make install