我試圖使用cmake構建64位系統上的32位共享庫:大廈32位共享庫的64位Linux與cmake的
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
正如你所看到的,我試圖添加的所有變量我VE對堆棧溢出發現,但cmake的還是加入的,而不是32位的64位的libxml2:
- 檢查模塊 '的libxml-2.0'
- 發現的libxml-2.0,版本2.7.8
- - xmllint編沒有找到ram。如果要驗證生成的doc文件,請安裝它。
- 發現的libxml2:/usr/lib/x86_64-linux-gnu/libxml2.so
如何強制cmake的使用位於/usr/lib/i386-linux-gnu
32位版本?
已經有人問:http://stackoverflow.com/questions/1272357/how-to-compile-a-32-bit-binary-on-a-64-bit-linux-machine-with-gcc-cmake – Vertexwahn
@Vertexwahn:除了海報顯然讀過它。他們在設置中顯然有錯誤。 –
沒有'CMAKE_LD_FLAGS',cmake變量被稱爲'CMAKE_EXE_LINKER_FLAGS'。儘管它使用_environment_變量'LDFLAGS'的默認值。你寫的分號分隔的字符串對於任何東西都不是有效的語法。它包含環境和cmake變量的混合。你能重現你使用的確切命令嗎? –