3
と互換性がありません:CMake; 386:入力ファイル(..)のx86-64のアーキテクチャ私は最初の「cmakeのビルド」を実行するときにこのエラーを取得し、「作る」の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")"
が、私は問題をグーグルで、それを解決するためにリンカフラグ「-m32」を追加した人を発見した後、最終的なライン「を設定(CMAKE_SHARED_LINKER_FLAGS 『-m32を』)」追加しかし、それは私の問題を解決しませんでした。
問題を解決するにはどうすればよいですか?
ありがとうございます!
私は 'cmake build clean .. && cmake build .. && make'というコマンドを実行します。 私は別のUbuntuをインストールしていて、うまくコンパイルできました。 Ubuntuが動作を停止したため、Windows Installerを使用して再度インストールし、古いシステムからファイルをコピーしました。 –
古いオブジェクトファイルを削除しようとしましたか? –
助けてくれてありがとう! ビルドディレクトリを削除してもう一度ビルドしました。今それは働いています。 素敵な週末を過ごしましょう! /アンダース –