我正在尝试使用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位版本?

最佳答案

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

关于c - 使用cmake在64位Linux上构建32位共享库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19763874/

10-09 21:51