2012-04-06 2 views
3

ich diese Fehlermeldung erhalten, wenn der erste ‚Cmake build‘ tun und dann ‚machen‘:CMake; 386: x86-64-Architektur der Eingabedatei (..) ist nicht kompatibel mit i386 Ausgabe

/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 
(...)" 

Dies ist das Format meiner Make-Datei:

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")" 

ich die letzte Zeile hinzugefügt ‚gesetzt (CMAKE_SHARED_LINKER_FLAGS‚-m32‘)‘ nach dem Problem googeln und der Suche nach einer Person, die den Linker-Flag ‚-m32‘ um hinzugefügt, es zu lösen , aber es hat das Problem für mich nicht gelöst.

Was soll ich tun, um das Problem zu lösen?

Danke!

Antwort

2

Ich denke, Sie haben die Objektdateien mp4reader.o, codec_instance_mgmt.o and callbacks.o von irgendwo kopiert (nicht auf Ihrem System kompiliert), was Inkompatibilität auf Ihrem System verursacht. Sie können versuchen, alle Objekte zu entfernen und es kompilieren wieder:

rm *.o 

und dann erneut kompilieren.

+0

Ich führe diesen Befehl 'cmake build clean .. && cmake build .. && make'. Ich hatte eine andere Ubuntu-Installation und es funktionierte gut kompilieren. Ubuntu hat aufgehört zu arbeiten, also habe ich es mit dem Window Installer neu installiert und die Dateien vom alten System kopiert. –

+0

haben Sie versucht, alte Objektdateien zu entfernen? –

+0

Danke für die Hilfe! Ich habe das Build-Verzeichnis entfernt und alles wieder aufgebaut. Jetzt funktioniert es. Habt ein schönes Wochenende!/Anders –