简体   繁体   English

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

[英]Building 32bit shared library on 64 bit Linux with cmake

I'm trying to build 32bit shared library on 64bit system using cmake: 我正在尝试使用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

As you can see, I tried to add all variables I've found on stack overflow, but cmake is still adding 64bit libxml2 instead of 32 bit: 如您所见,我尝试添加在堆栈溢出时发现的所有变量,但是cmake仍在添加64位libxml2而不是32位:

-- checking for module 'libxml-2.0' -检查模块'libxml-2.0'
-- found libxml-2.0, version 2.7.8 -找到libxml-2.0,版本2.7.8
-- xmllint program not found. -找不到xmllint程序。 Install it if you want validate generated doc file. 如果要验证生成的doc文件,请安装它。
-- Found LibXml2: /usr/lib/x86_64-linux-gnu/libxml2.so -找到LibXml2:/usr/lib/x86_64-linux-gnu/libxml2.so

How to force cmake to use 32 bit version located at /usr/lib/i386-linux-gnu ? 如何强制cmake使用位于/usr/lib/i386-linux-gnu 32位版本?

该变量称为 CMAKE_LD_FLAGS ,而是称为CMAKE_EXE_LINKER_FLAGS

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM