Forum: PC-Programmierung SP-Flash-Tool Compilieren mit QtCreator - Problem


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Markus W. (dl8mby)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo NG,

beim Versuch das SP Flash Tool v5.1720 for MTK von GitHub
unter Linux zu Compilieren habe ich beim Linken ein Problem.

Source code SP Flash Tool v5.1720 for MTK - GitHub
https://github.com/eret1k/SP-Flash-Tool-src

>gcc --version
gcc (SUSE Linux) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.

Qt Creator 4.3.0
Based on Qt 5.6.2 (GCC 6.2.1 20160826 [gcc-6-branch revision 239773], 64 
bit)

Im Projekt ist Qt 4.8.6 (/usr/bin/qmake) eingestellt.

08:24:22: Starte "/usr/bin/make" -j10

Siehe Compileroutput im Text-Anhang.

Da ich so Meldungen, wie

libflashtool.so: undefined reference to 
`boost::gregorian::greg_month::as_short_string() const'

oder

libflashtoolEx.so: undefined reference to 
`boost::thread::start_thread_noexcept()'

bekomme, dachte ich, das ligt an meiner "boost-Lib" installation.
Habe Version 1.54, 1.58 und 1.61 auf dem System installiert, brachte
aber keine Abhilfe.

Es gibt da im Lib-Verzeichnis des Git-Clones vom August 2017
Libs wie libflashtoolEx.so, libflashtool.so und libsla_challenge,
die anscheinend nur als Binaries vorliegen.

Diese habe ich mit ldd und objdump untersucht, habe mir aber
trotzdem keinen Reim drauf machen können.

Siehe zweiten Anhang.

Vielleicht fällt Euch auf, woran das Compilieren scheitert.
Ich weiß schon das Problem sitzt meist vor dem Bildschirm ;-)

Ich wollte mit dem neuen Bild eventuelle Probleme beim
jetzigen SP-Flash-Tool, welches ich nur als Binary besitze,
beheben, um bei meinem eigentlichen Problem, siehe
Beitrag "Acer Liquid E700 (3x SIM-Slot) - RS232 Console?"
weiter zu kommen.


Danke schon mal vorab für nützliche Hinweise.

Nachtrag:
In wie fern kann ich aus den u.g. Zeilen was herauslesen?

>objdump -x libflashtoolEx.so | grep 'flashtool_waitfor_com'
000000000025c6b0 l     O .rodata  0000000000000016 
ZZ21flashtool_waitfor_comE12__FUNCTION_
00000000001b803f l     F .text  000000000000039d              .hidden 
flashtool_waitfor_com

Nachtrag2:

Kann jemand sagen, ob die Exportanweisung für Linux so ok ist?

#elif defined(_LINUX)
   #if defined(FLASHTOOLLIBEX_EXPORTS)
       #define LIBEX_EXPORT _attribute_ ((visibility("default")))
   #else
       #define LIBEX_EXPORT
   #endif

   #define __stdcall
#else

...

LIBEX_EXPORT status_t LIB_API flashtool_waitfor_com(const char8** 
filter, uint32 count, /*OUT*/char8* port_name);


Scheint sehr speziell zu sein, wenn keiner eine Antwort darauf hat.
Ich hoffe trotzdem, dass der eine oder andere Experte hier mitlesen
tut und eventuell doch eine Antwort parat hat.

Markus

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.