使用cmake在64位Linux上构建32位共享库

时间:2013-11-04 08:19:10

标签: c gcc x86 cmake 32bit-64bit

我正在尝试使用cmake在64位系统上构建32位共享库:

CMAKE_C_FLAGS=-m32;CMAKE_CXX_FLAGS=-m32;CMAKE_LD_FLAGS=-m32 -L/usr/lib/i386-linux-gnu;CMAKE_SHARED_LIBRARY_C_FLAGS=-m32;CMAKE_SHARED_LIBRARY_CXX_FLAGS=-m32;CMAKE_SYSTEM_LIBRARY_PATH=/usr/lib/i386-linux-gnu;CFLAGS=-m32;LDFLAGS=-m32;CXXFLAGS=-m32 cmake

正如你所看到的,我试图添加我在堆栈溢出时发现的所有变量,但是cmake仍在添加64位libxml2而不是32位:

- 检查模块'libxml-2.0'
- 找到libxml-2.0,版本2.7.8
- 找不到xmllint程序。如果要验证生成的doc文件,请安装它 - 找到LibXml2:/usr/lib/x86_64-linux-gnu/libxml2.so

如何强制cmake使用位于/usr/lib/i386-linux-gnu的32位版本?

1 个答案:

答案 0 :(得分:0)

变量称为 CMAKE_LD_FLAGS ,它被称为CMAKE_EXE_LINKER_FLAGS