3
我得到這個錯誤首先做「cmake的構建」時再「做」不兼容:CMake; 386:輸入文件(..)的x86-64架構與i386的輸出
/usr/bin/ld: i386:x86-64 architecture of input file `CMakeFiles/eperftool.dir/mp4reader.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `CMakeFiles/eperftool.dir/codec_instance_mgmt.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `CMakeFiles/eperftool.dir/callbacks.o' is incompatible with i386 output
(...)"
這是對我的格式讓文件:
file (GLOB eperftool_sources ./*)
set(EPERFTOOL_BIN ${PROJECT_SOURCE_DIR}/bin/${CMAKE_BUILD_TYPE}/eperftool CACHE STRING "eperftool dir")
add_executable(eperftool ${eperftool_sources})
find_package (Threads)
if (Threads_FOUND)
include_directories(${Threads_INCLUDE_DIRS})
endif (Threads_FOUND)
target_link_libraries(eperftool openfec m)
target_link_libraries(eperftool ${CMAKE_THREAD_LIBS_INIT})
set(CMAKE_SHARED_LINKER_FLAGS "-m32")"
我加了最後一行「設置(CMAKE_SHARED_LINKER_FLAGS‘-m32’)」谷歌搜索的問題,並發現,爲了解決它加入了鏈接標誌「-m32」後,一個人,但它並沒有解決我的問題。
我該怎麼做才能解決問題?
謝謝!
我運行這個命令'cmake build clean .. && cmake build .. && make'。 我有另一個Ubuntu安裝,它工作正常編譯。 Ubuntu停止工作,所以我再次使用Window Installer安裝它,並從舊系統中複製文件。 – 2012-04-06 13:35:39
你嘗試刪除舊的目標文件嗎? – 2012-04-06 13:37:02
感謝您的幫助! 我刪除了構建目錄並重新構建了它。現在它正在工作。 週末愉快! /安德斯 – 2012-04-06 13:43:01