Kompilierhilfe gesucht! (slowmovideo, macports)

D

der_magges

Neues Mitglied
Thread Starter
Dabei seit
18.05.2007
Beiträge
13
Reaktionspunkte
1
Hallo zusammen,

ich versuche mal noch eine weitere Meinung einzuholen :)

ich brauche mal eure Hilfe, weil ich absolut kein Ahnung habe und mir es in einer Woche nicht gelungen ist, das Projekt erfolgreich zu kompilieren. Ich möchte slowmoVideo auf meinem Rechner laufen lassen. Mit macports habe ich gcc47, ffmpeg und opencv installiert.
Problem1: slowmoVideo scheint openCV nach "cmake .." nicht zu finden. Allerdings scheint es nicht lebensnotwendig zu sein, die Sache läuft erfolgreich durch.
Problem1: nach "make -j3" bekomme ich diverse Fehler der Art
In file included from /usr/include/c++/4.2.1/cwchar:51:
Code:
/usr/include/c++/4.2.1/ctime:65:11: error: no member named 'clock_t' in the
global namespace
using ::clock_t;

Warum benutzt er immernoch 4.2.1? Das ist der Standardcompiler von XCode. Mit "port select gcc..." habe ich aber erfolgreich den compiler auf gcc 4.7 umgestellt, "gcc -v" liefert "gcc version 4.7.2 (MacPorts gcc47 4.7.2_2)"

Kann mir jemand helfen? Ich wollte doch nur mal kurz ein Video ausbremsen... :)
 
musst vorher auch configure laufen lassen?
setz doch da mal den compiler per option oder per ENV variable...
 
Die Anweisungen sind
Code:
$ cd slowmoVideo # This is not the project’s root directory but a subdirectory!
$ mkdir build 
$ cd build
$ cmake ..
$ make -j3
$ make install
also nein? ich seh schon, bis das läuft, hab ich nen c++-Kurs hinter mir...
 
editier mal das CMakeLists.txt, um den compiler zu setzen.
vielleicht gibt es auch eine cmake option für die command line...
 
Ich habe nun SET( CMAKE_CXX_COMPILER "/usr/bin/g++" ) in CMakeLists.txt eingetragen, vor die project-Deklaration.

In der Zeile set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O2") hab ich den Schalter "-mtune=corei7 entfernt, da an diesen auch hingemeckert wurde.

Ich bekomme jetzt nicht mehr die gleichen Fehler wie zuvor nach make -j3, aber jetzt diese:

Code:
Linking C static library libsVencode.a
In file included from /usr/include/c++/4.2.1/cwchar:52,
                 from /usr/include/c++/4.2.1/bits/postypes.h:46,
                 from /usr/include/c++/4.2.1/iosfwd:49,
                 from /usr/include/c++/4.2.1/bits/stl_algobase.h:70,
                 from /usr/include/c++/4.2.1/bits/char_traits.h:46,
                 from /usr/include/c++/4.2.1/string:47,
                 from /Applications/slowmoVideo/slowmoVideo/lib/flowRW_sV.h:15,
                 from /Applications/slowmoVideo/slowmoVideo/lib/flowRW_sV.cpp:11:
/usr/include/c++/4.2.1/ctime:66: error: ‘::clock_t’ has not been declared
...

und

Code:
/usr/include/c++/4.2.1/bits/locale_facets.tcc: In member function ‘_InIter std::time_get<_CharT, _InIter>::_M_extract_via_format(_InIter, _InIter, std::ios_base&, std::_Ios_Iostate&, tm*, const _CharT*) const’:
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1839: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:155: error: forward declaration of ‘struct tm’

cmake .. meldet unter anderem
Code:
-- Check for working CXX compiler: /usr/bin/g++ -- works

Ist normal, dass hier immernoch "/usr/include/c++/4.2.1/" genutzt wird oder sollte das gar nicht sein?
 
Zuletzt bearbeitet:
zeigt denn /usr/bin/g++ überhaupt auf 4.7 bei dir?
der wird ja eher /opt/local/bin/g++-4.7 irgendwas sein...

denke mal cmake hat halt nicht die /opt installation von macports mit drin in den such pfaden...
 
  • Gefällt mir
Reaktionen: der_magges
zeigt denn /usr/bin/g++ überhaupt auf 4.7 bei dir?
der wird ja eher /opt/local/bin/g++-4.7 irgendwas sein...

denke mal cmake hat halt nicht die /opt installation von macports mit drin in den such pfaden...

da hast du völlig Recht. Mit SET( CMAKE_CXX_COMPILER "/opt/local/bin/g++-mp-4.7" ) hat es fast funktioniert, dann hat nur noch ein SET( CMAKE_PREFIX_PATH "/opt/local/lib/cmake") gefehlt, damit openCV gefunden wird.

Prima, das Ding läuft. Wie kann ich dir das Bier zukommen lassen?
 
ich verstehe nur bahnhof…
ich beneide euch, dass ihr das so schafft
wenn ich doch nur ein bisschen mehr zeit hätte mich in das thema einzuarbeiten

habt ihr mal einen literaturtip für mich?

vielen dank im voraus
 
hallo yofresh,
das war für mich das erste mal und ich habe nun eine Woche gebraucht, bis es lief. Literatur habe ich dir leider keine. Ich habe eigentlich hauptsächlich nach den Fehlermeldungen gegoogelt und rumprobiert. Als ich dann gar nicht mehr weiterwusste, hab ich hier den Thread gestartet. Die Hinweise von oneOeight haben mich dann auf die richtige Spur gebracht. Ich muss zugeben, das ich auch sehr viele Dinge gelesen und ausprobiert habe, die mich nicht weitergebracht haben.

Grüße,
magges
 
  • Gefällt mir
Reaktionen: yofresh
Zurück
Oben Unten