C++ Errno was not declared in this scope - make file

Sithys

Captain Pro
Registriert
Dez. 2010
Beiträge
3.467
Moin,
ich versuche aus diesem SDK eine 64bit Linux-Version zu bauen -> Datafox - Linux SDK.

Auf Debian läuft der Build ohne Probleme durch, auf Alpine hab ich hier einiges an Ärger...
775760


Hab schon bisschen was ausprobiert, aber ich krieg das mit den Fehlern wie auf dem Screenshot nicht gelöst. Installiert hab ich alpine-sdk und linux-headers. Vielleicht hat ja von Euch noch einer eine zündende Idee!
 
Mich würde interessieren, was in
Code:
/usr/include/c++/8.3.0/ext/string_conversions.h
steht.

Wird da <cerrno> nicht inkludiert ?
 
  • Gefällt mir
Reaktionen: Sithys
Kannst du mal g++ -v src/dllmain.cpp in dem Ordner ausführen und posten, was der output ist. Würde mich interessieren, in welchen Pfaden bei dir für #include gesucht wird
 
  • Gefällt mir
Reaktionen: Sithys
Das ist der Output

# g++ -v src/dllmain.cpp
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-alpine-linux-musl/8.3.0/lto-wrapper
Target: x86_64-alpine-linux-musl
Configured with: /home/buildozer/aports/main/gcc/src/gcc-8.3.0/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --target=x86_64-alpine-linux-musl --with-pkgversion='Alpine 8.3.0' --enable-checking=release --disable-fixed-point --disable-libstdcxx-pch --disable-multilib --disable-nls --disable-werror --disable-symvers --enable-__cxa_atexit --enable-default-pie --enable-default-ssp --enable-cloog-backend --enable-languages=c,c++,objc,fortran,ada --disable-libssp --disable-libmpx --disable-libmudflap --disable-libsanitizer --enable-shared --enable-threads --enable-tls --with-system-zlib --with-linker-hash-style=gnu
Thread model: posix
gcc version 8.3.0 (Alpine 8.3.0)
COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
/usr/libexec/gcc/x86_64-alpine-linux-musl/8.3.0/cc1plus -quiet -v -D_GNU_SOURCE src/dllmain.cpp -quiet -dumpbase dllmain.cpp -mtune=generic -march=x86-64 -auxbase dllmain -version -o /tmp/ccImLAHA.s
GNU C++14 (Alpine 8.3.0) version 8.3.0 (x86_64-alpine-linux-musl)
compiled by GNU C version 8.3.0, GMP version 6.1.2, MPFR version 3.1.5, MPC version 1.0.3, isl version isl-0.18-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/../../../../x86_64-alpine-linux-musl/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/../../../../include/c++/8.3.0
/usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/../../../../include/c++/8.3.0/x86_64-alpine-linux-musl
/usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/../../../../include/c++/8.3.0/backward
/usr/include/fortify
/usr/include
/usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/include
End of search list.
GNU C++14 (Alpine 8.3.0) version 8.3.0 (x86_64-alpine-linux-musl)
compiled by GNU C version 8.3.0, GMP version 6.1.2, MPFR version 3.1.5, MPC version 1.0.3, isl version isl-0.18-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: b197681830d684fc7f1770263b9d1543
src/dllmain.cpp:2:10: fatal error: targetver.h: No such file or directory
#include "targetver.h"
^~~~~~~~~~~~~
compilation terminated.
 
Hast du den Include-Pfad -I/usr/include/asm-generic selbst hinzugefügt ?

Ich glaube, dass hier der Hund begraben liegt: Der Präprozessor holt damit die falsche errno.h, bevor er die richtige errno.h aus dem Default-Include Verzeichnis anzieht: /usr/include/errno.h
Diese definiert nämlich auch errno und zieht die anderen Header an.
 
  • Gefällt mir
Reaktionen: Sithys
Ich hab noch weiter ausprobiert und mal die ioctl.h isoliert. Die ist der Grund dafür, weshalb ich das asm-generic eingebunden hatte. Ich hab die ioctl.h aus dem Ordner geholt und woanders abgelegt. Jetzt keine Errno Fehler mehr, dafür aber dann ->

Erstelle Datei: src/datafox_library_iv.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I/downloads -I../ -I./ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3 -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/datafox_library_iv.d" -MT"Release/datafox_
library_iv.d" -o"Release/datafox_library_iv.o" "src/datafox_library_iv.cpp"
In file included from ../shared/include/channel/channel_1_2.h:10,
from ../shared/include/channel/channel_bridge.h:18,
from ./include/datafox_library_iv.h:5,
from src/datafox_library_iv.cpp:4:
../shared/include/datafox/communication/connection_base.h:376:27: error: field 'm_flock' has incomplete type 'Datafox::Communication::flock'
struct flock m_flock;
^~~~~~~
../shared/include/datafox/communication/connection_base.h:376:20: note: forward declaration of 'struct Datafox::Communication::flock'
struct flock m_flock;
^~~~~
make: *** [Libraries.mk:30: Release/datafox_library_iv.o] Error 1

Code:
/****************************************************************************
**
** Copyright (C) Datafox GmbH.
** All rights reserved.
** Contact: Datafox GmbH (develop@datafox.de)
**
** This file is part of the DFComDLL module of the Datafox SDK.
**
****************************************************************************/

#ifndef DATAFOX_COMMUNICATION_CONNECTION_BASE_H
#define DATAFOX_COMMUNICATION_CONNECTION_BASE_H

// Standardtypen
#include <cstdint>

/////////////////////////////
// Error's
#include "common/error_defines.h"

#ifdef _MSC_VER
#define __func__ __FUNCTION__
#pragma warning(disable : 4996)
#endif

#if defined(_MSC_VER) || defined(__MINGW32__)


typedef int socklen_t;

#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <winsock2.h>
#include <string>

#ifndef STRING2
#define STRING2(x) #x
#define STRING(x) STRING2(x)
#define TODO(x) __pragma(message(__FILE__ "(" STRING(__LINE__) ") : todo : " #x))
#define FIXME(x) __pragma(message(__FILE__ "(" STRING(__LINE__) ") : fixme : " #x))
#endif

#else

#include <string>
#include <stdio.h>
#include <stdarg.h>
#include <unistd.h>
typedef int HANDLE;
#define SOCKET int
#define MAX_PATH 260
#define _MAX_PATH MAX_PATH
#define _MAX_EXT 256
#define TRUE 1
#define FALSE 0
#include <termio.h>
#include <sys/file.h>

#define INVALID_HANDLE_VALUE -1

#include <errno.h>
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
#include <arpa/inet.h>

#define INVALID_SOCKET       -1
#define SOCKADDR_IN struct sockaddr_in
#define SOCKADDR struct sockaddr
#define HOSTENT struct hostent
#define WSAGetLastError() h_errno
#define SOCKET_ERROR -1

#define FAR

#ifndef STRING2
#define STRING2(x) #x
#define STRING(x) STRING2(x)
#define TODO(x)
#define FIXME(x)
#endif

#endif

#include <memory>

namespace Datafox
{
    namespace Communication
    {
        class Trace_base
        {
        public:
            enum class Trace_mode
            {
                off,
                on,
                packets
            };

        public:
            Trace_base( int id );

            void print( const char *format, va_list args );

            inline int get_id()
            {
                return m_id;
            }
            inline void set_id( int id )
            {
                m_id = id;
            }

            inline Trace_mode get_mode()
            {
                return m_mode;
            }
            inline void set_mode( Trace_mode mode = Trace_mode::on )
            {
                m_mode = mode;
            }

            inline std::string get_file_path()
            {
                return m_file_path;
            }
            inline void set_file_path( const std::string &file_path )
            {
                m_file_path = file_path;
            }

        private:
            int m_id;
            Trace_mode m_mode;            // Mode des Trace
            std::string m_file_path;      // Dateiangabe zum Trace
        };

        // Basisklasse fuer pure Kommunikationsaufgaben.
        class Connection_base 
        {
        public:
            enum // default value
            {
                dv_connection_id = 0,
                dv_read_trials   = 3, // Maximale Anzahl Leseversuche
                dv_write_trials  = 3  // Maximale Anzahl Schreibversuche
            };

        public:
            Connection_base( int id = dv_connection_id );
            virtual ~Connection_base();

        public:
            // Typ der Verbindung
            enum class Connection_type
            {
                undefined,
                serial,
                socket
            };

            // Oeffnen der Schnittstelle
            virtual int open( Connection_type type, const std::string &connection_string, uint32_t connection_value, uint16_t communication_read_timeout );
            // Schliessen der Schnittstelle.
            virtual int close();

            // Zuweisen von HANDLE oder Socket ohne Schnittstelle selbst zu oeffnen.
            int attach( Connection_type type, HANDLE connection_handle, uint16_t communication_read_timeout );
            // Freigeben der anderweitig zugewiesenen Resourcen
            int detach();

            // Ermitteln ob Schnittstelle geoeffnet.
            bool is_open();

            // Ermitteln der uebergebenen Parameter an Open.
            inline void get_open_parameters( Connection_type &type, std::string &connection_string, uint32_t &connection_value, uint16_t &communication_read_timeout )
            {
                type = m_type;
                connection_string = m_string;
                connection_value = m_value;
                communication_read_timeout = m_read_timeout;
            }

        public:
            // Loeschen anstehender Daten.
            void flush();
            int flush_socket();

        public:
            // Oeffnen der Schnittstelle fuer RS232 / RS485 Verbindung.
            int open_serial( const std::string &serial_port_name, uint32_t baud_rate, uint16_t communication_read_timeout );
            int close_serial();
            int change_state_serial( HANDLE connection_serial_port, uint32_t baud_rate, uint16_t communication_read_timeout );

            // Oeffnen der Schnittstelle fuer TCP/IP.
            int open_socket( const std::string &host_name, uint16_t port_number, uint16_t communication_read_timeout );
            int close_socket();

        protected:
            // Datenempfang
            int read_serial( uint8_t *buffer, uint32_t read_count, uint32_t &read_in_count, uint8_t read_trials = dv_read_trials );
            int read_socket( uint8_t *buffer, uint32_t read_count, uint32_t &read_in_count, uint8_t read_trials = dv_read_trials );

        public:
            virtual int read_data( uint8_t *buffer, uint32_t read_count, uint32_t &read_in_count, uint8_t read_trials = dv_read_trials );

        protected:
            // Datenversand
            int write_serial( const uint8_t *buffer, uint32_t write_count, uint32_t &write_out_count, uint8_t write_trials = dv_write_trials );
            int write_socket( const uint8_t *buffer, uint32_t write_count, uint32_t &write_out_count, uint8_t write_trials = dv_write_trials );

        public:
            virtual int write_data( const uint8_t *buffer, uint32_t write_count, uint32_t &write_out_count, uint8_t write_trials = dv_write_trials );

        private:
            std::shared_ptr<Trace_base> m_trace;

        public:
            std::shared_ptr<Trace_base> get_trace_pointer()
            {
                return m_trace;
            }
            void set_trace_pointer( std::shared_ptr<Trace_base> base )
            {
                m_trace = base;
            }

        public:
            virtual void trace( const char *format... )
            {
                if ( m_trace.get() != nullptr && m_trace->get_mode() >= Trace_base::Trace_mode::on )
                {
                    va_list args;
                    va_start( args, format );
                    m_trace->print( format, args );
                    va_end( args );
                }
            }

            Trace_base::Trace_mode get_trace_mode()
            {
                Trace_base::Trace_mode mode = Trace_base::Trace_mode::off;
                if ( m_trace.get() != nullptr )
                {
                    mode = m_trace->get_mode();
                }

                return mode;
            }
            void set_trace_mode( Trace_base::Trace_mode mode = Trace_base::Trace_mode::on )
            {
                if ( m_trace.get() != nullptr )
                {
                    m_trace->set_mode( mode );
                }
            }

            std::string get_trace_file_path()
            {
                std::string file_path;
                if ( m_trace.get() != nullptr )
                {
                    file_path = m_trace->get_file_path();
                }

                return file_path;
            }
            void set_trace_file_path( const std::string &file_path )
            {
                if ( m_trace.get() != nullptr )
                {
                    m_trace->set_file_path( file_path );
                }
            }

        public:
            inline int get_id()
            {
                return m_id;
            }
            inline int set_id( int id )
            {
                int old = m_id;
                m_id = id;
                if ( m_trace.get() != nullptr )
                {
                    m_trace->set_id( id );
                }
                return old;
            }
        public:
            inline Connection_type get_type()
            {
                return m_type;
            }
            inline void set_type( Connection_type type )
            {
                m_type = type;
            }
        public:
            inline HANDLE get_serial_port()
            {
                return m_serial_port;
            }
            inline void set_serial_port( HANDLE serial_port )
            {
                m_serial_port = serial_port;
            }
        public:
            inline SOCKET get_socket()
            {
                return m_socket;
            }
            inline void set_socket( SOCKET socket )
            {
                m_socket = socket;
            }
        public:
            inline std::string get_host_name()
            {
                return m_string;
            }
            inline void set_host_name( const std::string &name )
            {
                m_string = name;
            }
        public:
            inline std::string get_serial_port_name()
            {
                return m_string;
            }
            inline void set_serial_port_name( const std::string &name )
            {
                m_string = name;
            }
        public:
            inline uint16_t get_port_number()
            {
                return static_cast<uint16_t>( m_value );
            }
            inline void set_port_number( uint16_t value )
            {
                m_value = value;
            }
        public:
            inline uint32_t get_baud()
            {
                return m_value;
            }
            inline void set_baud( uint32_t value )
            {
                m_value = value;
            }
        public:
            inline uint16_t get_read_timeout()
            {
                return m_read_timeout;
            }
            inline void set_read_timeout( uint16_t timeout )
            {
                m_read_timeout = timeout;
            }

        protected:
            int m_id;                      // Id des Channels
            Connection_type m_type;        // Typ der Verbindung / Schnittstelle
            HANDLE m_serial_port;          // Handle wenn Typ: ct_seriel
            SOCKET m_socket;               // Socket wenn Typ: ct_socket
            std::string m_string;          // Haelt letzten ComPort-String
            uint32_t m_value;              // Baudrate bei Typ Seriell, Portnummer bei Typ Socket
            uint16_t m_read_timeout;       // Lesetimeout fuer Kommunikationsfunktionen
#if !defined(_MSC_VER) && !defined(__MINGW32__)
            struct termios m_termio;
            struct flock  m_flock;
#endif

        protected:
            uint32_t m_size_written;    // Statistik, Anzahl der versendeten Bytes
            uint32_t m_size_read;       // Statistik, Anzahl der gelesenen Bytes

        public:
            inline uint32_t get_size_written()
            {
                return m_size_written;
            }
            inline void set_size_written( uint32_t size )
            {
                m_size_written = size;
            }
            inline void add_size_written( uint32_t size )
            {
                m_size_written += size;
            }
            inline void sub_size_written( uint32_t size )
            {
                m_size_written -= size;
            }

            inline uint32_t get_size_read()
            {
                return m_size_read;
            }
            inline void set_size_read( uint32_t size )
            {
                m_size_read = size;
            }
            inline void add_size_read( uint32_t size )
            {
                m_size_read += size;
            }
            inline void sub_size_read( uint32_t size )
            {
                m_size_read -= size;
            }
        };

    } // namespace Communication
} // namespace Datafox

#endif


m_flock kommt aber wohl aus dem Datafox Kram oder?
 
Zuletzt bearbeitet:
Hast du die ioctl.h in deiner eigenen Software angezogen oder wurde die auch von der Datafox-Lib angezogen und nicht gefunden ?

Die musst du ja nicht irgendwo hinkopieren und diesen Pfad dann inkludieren (jetzt hast du sie vermutlich nach /downloads gepackt), sondern einfach aus dem Default-Verzeichnis anziehen:

Code:
#include <asm/ioctl.h>

Aber das eigentliche Problem liegt dann ja nicht bei der errno-Geschichte. Hast du nun eigenen Code da mit dabei bzw. noch etwas verändert oder geht es nun immernoch schief, wenn du das Datafox-Zeug (alles so wie gedownloaded) bauen willst?

RedGunPanda schrieb:
m_flock kommt aber wohl aus dem Datafox Kram oder?
m_flock ist eine Membervariable innerhalb von connection_base.h ja, aber dem Compiler ist die Struktur flock wohl unbekannt. Diese wird in <fcntl.h> definiert, die wiederum von <sys/file.h> (Zeile 58) angezogen wird.

Nur das scheint bei dir anscheinend nicht der Fall zu sein, führe mal folgendes aus und poste den Output:

Code:
g++ -H -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./ -I./include/ -I../shared/include/ -I../3
rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/datafox_library_iv.d" -MT"Release/datafox_library_iv.d" -o"Release/datafox_library_iv.o" "src/datafox_library_iv.cpp" 2>&1 | grep -e fcntl.h -e file.h
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Sithys
Hmm... irgendwas mach ich wohl verkehrt, bekomme keinen Output.

776330
 
lass mal das 2>&1 weg. Hat mich auch gewundert, wieso bei mir der ganze g++ Output auf stderr umgeleitet wurde
 
  • Gefällt mir
Reaktionen: Sithys
Code:
. ./include/datafox_library_iv.h
.. ../shared/include/channel/channel_bridge.h
... ../shared/include/log/df_log.h
.... /usr/include/c++/8.3.0/ctime
..... /usr/include/c++/8.3.0/x86_64-alpine-linux-musl/bits/c++config.h
...... /usr/include/c++/8.3.0/x86_64-alpine-linux-musl/bits/os_defines.h
...... /usr/include/c++/8.3.0/x86_64-alpine-linux-musl/bits/cpu_defines.h
..... /usr/include/time.h
...... /usr/include/features.h
...... /usr/include/bits/alltypes.h
.... /usr/include/c++/8.3.0/string
..... /usr/include/c++/8.3.0/bits/stringfwd.h
...... /usr/include/c++/8.3.0/bits/memoryfwd.h
..... /usr/include/c++/8.3.0/bits/char_traits.h
...... /usr/include/c++/8.3.0/bits/stl_algobase.h
....... /usr/include/c++/8.3.0/bits/functexcept.h
........ /usr/include/c++/8.3.0/bits/exception_defines.h
....... /usr/include/c++/8.3.0/bits/cpp_type_traits.h
....... /usr/include/c++/8.3.0/ext/type_traits.h
....... /usr/include/c++/8.3.0/ext/numeric_traits.h
....... /usr/include/c++/8.3.0/bits/stl_pair.h
........ /usr/include/c++/8.3.0/bits/move.h
......... /usr/include/c++/8.3.0/bits/concept_check.h
......... /usr/include/c++/8.3.0/type_traits
....... /usr/include/c++/8.3.0/bits/stl_iterator_base_types.h
....... /usr/include/c++/8.3.0/bits/stl_iterator_base_funcs.h
........ /usr/include/c++/8.3.0/debug/assertions.h
....... /usr/include/c++/8.3.0/bits/stl_iterator.h
........ /usr/include/c++/8.3.0/bits/ptr_traits.h
....... /usr/include/c++/8.3.0/debug/debug.h
....... /usr/include/c++/8.3.0/bits/predefined_ops.h
...... /usr/include/c++/8.3.0/bits/postypes.h
....... /usr/include/c++/8.3.0/cwchar
........ /usr/include/fortify/wchar.h
......... /usr/include/limits.h
.......... /usr/include/bits/limits.h
......... /usr/include/stdlib.h
.......... /usr/include/bits/alltypes.h
.......... /usr/include/alloca.h
........... /usr/include/bits/alltypes.h
......... /usr/include/string.h
.......... /usr/include/bits/alltypes.h
.......... /usr/include/fortify/strings.h
........... /usr/include/strings.h
............ /usr/include/bits/alltypes.h
........... /usr/include/fortify/fortify-headers.h
......... /usr/include/wchar.h
.......... /usr/include/bits/alltypes.h
...... /usr/include/c++/8.3.0/cwchar
...... /usr/include/c++/8.3.0/cstdint
....... /usr/include/stdint.h
........ /usr/include/bits/alltypes.h
........ /usr/include/bits/stdint.h
..... /usr/include/c++/8.3.0/bits/allocator.h
...... /usr/include/c++/8.3.0/x86_64-alpine-linux-musl/bits/c++allocator.h
....... /usr/include/c++/8.3.0/ext/new_allocator.h
........ /usr/include/c++/8.3.0/new
......... /usr/include/c++/8.3.0/exception
.......... /usr/include/c++/8.3.0/bits/exception.h
.......... /usr/include/c++/8.3.0/bits/exception_ptr.h
........... /usr/include/c++/8.3.0/bits/cxxabi_init_exception.h
............ /usr/include/stddef.h
............. /usr/include/bits/alltypes.h
........... /usr/include/c++/8.3.0/typeinfo
............ /usr/include/c++/8.3.0/bits/hash_bytes.h
........... /usr/include/c++/8.3.0/new
.......... /usr/include/c++/8.3.0/bits/nested_exception.h
..... /usr/include/c++/8.3.0/bits/localefwd.h
...... /usr/include/c++/8.3.0/x86_64-alpine-linux-musl/bits/c++locale.h
....... /usr/include/c++/8.3.0/clocale
........ /usr/include/locale.h
......... /usr/include/bits/alltypes.h
...... /usr/include/c++/8.3.0/iosfwd
...... /usr/include/c++/8.3.0/cctype
....... /usr/include/ctype.h
........ /usr/include/bits/alltypes.h
..... /usr/include/c++/8.3.0/bits/ostream_insert.h
...... /usr/include/c++/8.3.0/bits/cxxabi_forced.h
..... /usr/include/c++/8.3.0/bits/stl_function.h
...... /usr/include/c++/8.3.0/backward/binders.h
..... /usr/include/c++/8.3.0/bits/range_access.h
...... /usr/include/c++/8.3.0/initializer_list
..... /usr/include/c++/8.3.0/bits/basic_string.h
...... /usr/include/c++/8.3.0/ext/atomicity.h
....... /usr/include/c++/8.3.0/x86_64-alpine-linux-musl/bits/gthr.h
........ /usr/include/c++/8.3.0/x86_64-alpine-linux-musl/bits/gthr-default.h
......... /usr/include/pthread.h
.......... /usr/include/bits/alltypes.h
.......... /usr/include/sched.h
........... /usr/include/bits/alltypes.h
....... /usr/include/c++/8.3.0/x86_64-alpine-linux-musl/bits/atomic_word.h
...... /usr/include/c++/8.3.0/ext/alloc_traits.h
....... /usr/include/c++/8.3.0/bits/alloc_traits.h
...... /usr/include/c++/8.3.0/ext/string_conversions.h
....... /usr/include/c++/8.3.0/cstdlib
........ /usr/include/fortify/stdlib.h
........ /usr/include/c++/8.3.0/bits/std_abs.h
....... /usr/include/c++/8.3.0/cwchar
....... /usr/include/c++/8.3.0/cstdio
........ /usr/include/fortify/stdio.h
......... /usr/include/stdio.h
.......... /usr/include/bits/alltypes.h
....... /usr/include/c++/8.3.0/cerrno
........ /usr/include/errno.h
......... /usr/include/bits/errno.h
...... /usr/include/c++/8.3.0/bits/functional_hash.h
..... /usr/include/c++/8.3.0/bits/basic_string.tcc
.... ../shared/include/file/file_ini.h
..... /usr/include/c++/8.3.0/stdlib.h
...... /usr/include/c++/8.3.0/cstdlib
..... /usr/include/fortify/string.h
..... /usr/include/sys/types.h
...... /usr/include/bits/alltypes.h
...... /usr/include/endian.h
...... /usr/include/fortify/sys/select.h
....... /usr/include/sys/select.h
........ /usr/include/bits/alltypes.h
...... /usr/include/sys/sysmacros.h
..... /usr/include/sys/stat.h
...... /usr/include/bits/alltypes.h
...... /usr/include/bits/stat.h
.... ../shared/include/log/df_log_check.h
.... /usr/include/c++/8.3.0/mutex
..... /usr/include/c++/8.3.0/tuple
...... /usr/include/c++/8.3.0/utility
....... /usr/include/c++/8.3.0/bits/stl_relops.h
...... /usr/include/c++/8.3.0/array
....... /usr/include/c++/8.3.0/stdexcept
...... /usr/include/c++/8.3.0/bits/uses_allocator.h
...... /usr/include/c++/8.3.0/bits/invoke.h
..... /usr/include/c++/8.3.0/chrono
...... /usr/include/c++/8.3.0/ratio
...... /usr/include/c++/8.3.0/limits
...... /usr/include/c++/8.3.0/ctime
...... /usr/include/c++/8.3.0/bits/parse_numbers.h
..... /usr/include/c++/8.3.0/system_error
...... /usr/include/c++/8.3.0/x86_64-alpine-linux-musl/bits/error_constants.h
....... /usr/include/c++/8.3.0/cerrno
..... /usr/include/c++/8.3.0/bits/std_mutex.h
.... /usr/include/c++/8.3.0/functional
..... /usr/include/c++/8.3.0/bits/refwrap.h
..... /usr/include/c++/8.3.0/bits/std_function.h
... ../shared/include/channel/channel_1_2.h
.... ../shared/include/datafox/communication/connection_base.h
..... ../shared/include/common/error_defines.h
..... /usr/include/stdarg.h
...... /usr/include/bits/alltypes.h
..... /usr/include/fortify/unistd.h
...... /usr/include/unistd.h
....... /usr/include/bits/alltypes.h
....... /usr/include/bits/posix.h
..... ./include/termio.h
...... /usr/include/termios.h
....... /usr/include/bits/alltypes.h
....... /usr/include/bits/termios.h
In file included from ../shared/include/datafox/communication/connection_base.h:57,
                 from ../shared/include/channel/channel_1_2.h:10,
                 from ../shared/include/channel/channel_bridge.h:18,
                 from ./include/datafox_library_iv.h:5,
                 from src/datafox_library_iv.cpp:4:
./include/termio.h:2:10: fatal error: ioctl.h: No such file or directory
#include <ioctl.h>
          ^~~~~~~~~
compilation terminated.

Die ioctl.h hab ich in /downloads/ abgelegt. Vorher hatte ich ja das ganze Verzeichnis drin mit -I/usr/include/asm-generic da hab ich jetzt nur die ioctl.h rausgeholt und in downloads verschoben -> -I/downloads/
Ergänzung ()

Ich glaube mittlerweile einfach, dass das Datafox SDK mit musl libc nicht kompatibel ist.
Ergänzung ()

Melde mich gleich, bin da noch dran... der fehler ist klar, ich hatte downloads gar nicht eingebunden x). Sekunde...
Ergänzung ()

So, ich hab den Output mal angehängt, ist einiges. Nachdem ich die ioctl.h aus /usr/include/sys (musl) reingeladen habe, geht es wieder etwas weiter. Der neue Fehler hängt im Anhang auf dem Screenshot und Plain-Text. Hab jetzt auch noch die file_studio_setup.h angehängt @Revan1710

Super nett, dass Du mir hier hilfst btw. das ist echt klasse!
 

Anhänge

Zuletzt bearbeitet:
Wieso hattest du überhaupt die ioctl.h in das Verzeichnis kopiert und in welcher Datei ziehst du diese jetzt an? Hast du denn jetzt noch irengdetwas verändert bzw. hast du mal alles einfach neu ausgepackt, wie du es runtergeladen hast, ohne irgendeine Veränderung von dir?

Nicht, dass wir wieder etwas hinterherjagen, was durch eine Veränderung bei den Include-Pfaden o.ä. verursacht wird.

RedGunPanda schrieb:
Super nett, dass Du mir hier hilfst btw. das ist echt klasse!
Gerne, man lernt ja meistens noch etwas dabei :)
 
  • Gefällt mir
Reaktionen: Sithys
Ne, das passt jetzt soweit alles. Ich hatte die ioctl.h rausgezogenaus /sys/ weil er sonst auch die ganzen anderen /sys/ dateien includiert und das aber nicht soll, so konnte ich den errno fehler ja schon beseitigen, dank deines Tipps! Jetzt ist tatsächlich dieser "minor major" fehler aktuell aus meinem vorherigen geposteten screenshot.

Revan1710 schrieb:
Hast du den Include-Pfad -I/usr/include/asm-generic selbst hinzugefügt ?

Ich glaube, dass hier der Hund begraben liegt: Der Präprozessor holt damit die falsche errno.h, bevor er die richtige errno.h aus dem Default-Include Verzeichnis anzieht: /usr/include/errno.h

Das wo's knallt ist so definiert ->

Code:
static unsigned int header_version(unsigned char master, unsigned char major, unsigned char minor, unsigned char build)
{
    return (((master & 0xFF) << 24) | ((major & 0xFF) << 16) | ((minor & 0xFF) << 8) | (build & 0xFF));
}
 
Zuletzt bearbeitet:
Gut, du hast aber ja trotzdem noch was verändert und den Include-Pfad -I/downloads ergänzt. Es kann also gut sein, dass dadurch auch wieder die Include-Reihenfolge falsch wird, was ja auch die Ursache bei dem errno Fehler war.

RedGunPanda schrieb:
Ich hatte die ioctl.h rausgezogenaus /sys/ weil er sonst auch die ganzen anderen /sys/ dateien includiert und das aber nicht soll

Das musst du mir erklären. Es ist ja korrekt, dass die ioctl.h irgendwo aus /usr/include/.. gezogen wird, aber es werden ja auch nur die Header angezogen, die benötigt werden.
Nimm also mal bitte das -I/downloads wieder raus und zeige, wo da dann das Problem liegt.
 
  • Gefällt mir
Reaktionen: Sithys
Okay also alles auf Anfang:

Der erste Fehler der nach einem sauberen Entpacken und "make all" kommt ist:

Code:
/downloads/Datafox_SDK_Linux_04.03.12/Kommunikationsmodul DFComDLL 04.03.12 Quelltext/Release_DatafoxLibraryIVSource/DatafoxLibraryIV # make all
Erstelle Datei: src/datafox_library_iv.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/datafox_library_iv.d" -MT"Release/datafox_library_iv.d" -o"Release/datafox_library_iv.o" "src/datafox_library_iv.cpp"
In file included from ../shared/include/channel/channel_1_2.h:10,
                 from ../shared/include/channel/channel_bridge.h:18,
                 from ./include/datafox_library_iv.h:5,
                 from src/datafox_library_iv.cpp:4:
../shared/include/datafox/communication/connection_base.h:57:10: fatal error: termio.h: No such file or directory
#include <termio.h>
          ^~~~~~~~~~
compilation terminated.

Das hatten ich so gelöst, dass ich eine termio.h erstellt habe, in welcher die termios.h geladen wird -> #include <termios.h>. Wenn ich das richtig recherchiert hatte, ist die termio.h alt und die termios.h ist quasi die neue version. Das steht in der termio.h auf Debian ->

/* Compatible <termio.h> for old `struct termio' ioctl interface.
2 This is obsolete; use the POSIX.1 `struct termios' interface
3 defined in <termios.h> instead. */
4
5 #include <termios.h>
6 #include <sys/ioctl.h>

Wenn ich diesen Schritt dann vollzogen habe, dann bekomme ich den Fehler mit m_flock:

Code:
/downloads/Datafox_SDK_Linux_04.03.12/Kommunikationsmodul DFComDLL 04.03.12 Quelltext/Release_DatafoxLibraryIVSource/DatafoxLibraryIV # make all
Erstelle Datei: src/datafox_library_iv.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/datafox_library_iv.d" -MT"Release/datafox_library_iv.d" -o"Release/datafox_library_iv.o" "src/datafox_library_iv.cpp"
In file included from ../shared/include/channel/channel_1_2.h:10,
                 from ../shared/include/channel/channel_bridge.h:18,
                 from ./include/datafox_library_iv.h:5,
                 from src/datafox_library_iv.cpp:4:
../shared/include/datafox/communication/connection_base.h:376:27: error: field 'm_flock' has incomplete type 'Datafox::Communication::flock'
             struct flock  m_flock;
                           ^~~~~~~
../shared/include/datafox/communication/connection_base.h:376:20: note: forward declaration of 'struct Datafox::Communication::flock'
             struct flock  m_flock;
                    ^~~~~
make: *** [Libraries.mk:30: Release/datafox_library_iv.o] Error 1

zum Testen hab ich dann einfach mal die betroffene Zeile mit m_flock gelöscht, dann erstellt er etliche Dateien korrekt, scheitert aber an einer angeblich fehlden termio.h die ich oben ja eig. schon eingefügt hatte:

So, wenn ich die termio.h korrekt einfüge, also unter /usr/include/termio.h, dann bin ich wieder bei dem major / minor gedöns @Revan1710 :

Code:
/downloads/Datafox_SDK_Linux_04.03.12/Kommunikationsmodul DFComDLL 04.03.12 Quelltext/Release_DatafoxLibraryIVSource/DatafoxLibraryIV # make all
Erstelle Datei: src/datafox_library_iv.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/datafox_library_iv.d" -MT"Release/datafox_library_iv.d" -o"Release/datafox_library_iv.o" "src/datafox_library_iv.cpp"

Erstelle Datei: src/library_version.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/library_version.d" -MT"Release/library_version.d" -o"Release/library_version.o" "src/library_version.cpp"

Erstelle Datei: ../3rd/tinyxml/tinystr.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/tinystr.d" -MT"Release/tinystr.d" -o"Release/tinystr.o" "../3rd/tinyxml/tinystr.cpp"

Erstelle Datei: ../3rd/tinyxml/tinyxml.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/tinyxml.d" -MT"Release/tinyxml.d" -o"Release/tinyxml.o" "../3rd/tinyxml/tinyxml.cpp"

Erstelle Datei: ../3rd/tinyxml/tinyxmlerror.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/tinyxmlerror.d" -MT"Release/tinyxmlerror.d" -o"Release/tinyxmlerror.o" "../3rd/tinyxml/tinyxmlerror.cpp"

Erstelle Datei: ../3rd/tinyxml/tinyxmlparser.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/tinyxmlparser.d" -MT"Release/tinyxmlparser.d" -o"Release/tinyxmlparser.o" "../3rd/tinyxml/tinyxmlparser.cpp"
../3rd/tinyxml/tinyxmlparser.cpp: In static member function 'static void TiXmlBase::ConvertUTF32ToUTF8(long unsigned int, char*, int*)':
../3rd/tinyxml/tinyxmlparser.cpp:113:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
    input >>= 6;
    ~~~~~~^~~~~
../3rd/tinyxml/tinyxmlparser.cpp:114:3: note: here
   case 3:
   ^~~~
../3rd/tinyxml/tinyxmlparser.cpp:117:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
    input >>= 6;
    ~~~~~~^~~~~
../3rd/tinyxml/tinyxmlparser.cpp:118:3: note: here
   case 2:
   ^~~~
../3rd/tinyxml/tinyxmlparser.cpp:121:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
    input >>= 6;
    ~~~~~~^~~~~
../3rd/tinyxml/tinyxmlparser.cpp:122:3: note: here
   case 1:
   ^~~~

Erstelle Datei: src/api/df_access_control.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/df_access_control.d" -MT"Release/df_access_control.d" -o"Release/df_access_control.o" "src/api/df_access_control.cpp"

Erstelle Datei: src/api/df_access_control_lists.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/df_access_control_lists.d" -MT"Release/df_access_control_lists.d" -o"Release/df_access_control_lists.o" "src/api/df_access_control_lists.cpp"

Erstelle Datei: src/api/df_access_control_lists_v1.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/df_access_control_lists_v1.d" -MT"Release/df_access_control_lists_v1.d" -o"Release/df_access_control_lists_v1.o" "src/api/df_access_control_lists_v1.cpp"

Erstelle Datei: src/api/df_active_mode.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/df_active_mode.d" -MT"Release/df_active_mode.d" -o"Release/df_active_mode.o" "src/api/df_active_mode.cpp"

Erstelle Datei: src/api/df_api.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/df_api.d" -MT"Release/df_api.d" -o"Release/df_api.o" "src/api/df_api.cpp"

Erstelle Datei: src/api/df_connection.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/df_connection.d" -MT"Release/df_connection.d" -o"Release/df_connection.o" "src/api/df_connection.cpp"

Erstelle Datei: src/api/df_files.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/df_files.d" -MT"Release/df_files.d" -o"Release/df_files.o" "src/api/df_files.cpp"

Erstelle Datei: src/api/df_fingerprint.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/df_fingerprint.d" -MT"Release/df_fingerprint.d" -o"Release/df_fingerprint.o" "src/api/df_fingerprint.cpp"

Erstelle Datei: src/api/df_lists.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/df_lists.d" -MT"Release/df_lists.d" -o"Release/df_lists.o" "src/api/df_lists.cpp"

Erstelle Datei: src/api/df_logging.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/df_logging.d" -MT"Release/df_logging.d" -o"Release/df_logging.o" "src/api/df_logging.cpp"

Erstelle Datei: src/api/df_setup_lists.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/df_setup_lists.d" -MT"Release/df_setup_lists.d" -o"Release/df_setup_lists.o" "src/api/df_setup_lists.cpp"

Erstelle Datei: src/api/df_setup_records.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/df_setup_records.d" -MT"Release/df_setup_records.d" -o"Release/df_setup_records.o" "src/api/df_setup_records.cpp"

Erstelle Datei: src/api/df_system_records.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/df_system_records.d" -MT"Release/df_system_records.d" -o"Release/df_system_records.o" "src/api/df_system_records.cpp"

Erstelle Datei: src/api/df_timeboy_lists.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I./include/ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/df_timeboy_lists.d" -MT"Release/df_timeboy_lists.d" -o"Release/df_timeboy_lists.o" "src/api/df_timeboy_lists.cpp"

Erstelle Datei: ../shared/src/channel/channel_1_2_buffer.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/channel_1_2_buffer.d" -MT"Release/channel_1_2_buffer.d" -o"Release/channel_1_2_buffer.o" "../shared/src/channel/channel_1_2_buffer.cpp"

Erstelle Datei: ../shared/src/channel/channel_1_2.cpp
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/channel_1_2.d" -MT"Release/channel_1_2.d" -o"Release/channel_1_2.o" "../shared/src/channel/channel_1_2.cpp"
In file included from /usr/include/sys/types.h:72,
                 from ../shared/include/file/file_device_zip.h:45,
                 from ../shared/include/channel/channel_4_buffer.h:18,
                 from ../shared/include/channel/channel_1_2.h:13,
                 from ../shared/src/channel/channel_1_2.cpp:7:
../shared/include/file/file_studio_setup.h: In member function 'void FileStudio::SetStudioVersion(const char*)':
../shared/include/file/file_studio_setup.h:183:97: error: expected unqualified-id before '(' token
         m_file_header.studioVersion = header_version( m_studioVersion.master(), m_studioVersion.major(), m_studioVersion.minor(), m_studioVersion.build() );
                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:183:97: error: expected primary-expression before ')' token
         m_file_header.studioVersion = header_version( m_studioVersion.master(), m_studioVersion.major(), m_studioVersion.minor(), m_studioVersion.build() );
                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:183:97: error: expected primary-expression before ')' token
         m_file_header.studioVersion = header_version( m_studioVersion.master(), m_studioVersion.major(), m_studioVersion.minor(), m_studioVersion.build() );
                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:183:122: error: expected unqualified-id before '(' token
         m_file_header.studioVersion = header_version( m_studioVersion.master(), m_studioVersion.major(), m_studioVersion.minor(), m_studioVersion.build() );
                                                                                                                          ^~~~~
../shared/include/file/file_studio_setup.h:183:122: error: expected primary-expression before ')' token
         m_file_header.studioVersion = header_version( m_studioVersion.master(), m_studioVersion.major(), m_studioVersion.minor(), m_studioVersion.build() );
                                                                                                                          ^~~~~
../shared/include/file/file_studio_setup.h:183:122: error: expected primary-expression before ')' token
         m_file_header.studioVersion = header_version( m_studioVersion.master(), m_studioVersion.major(), m_studioVersion.minor(), m_studioVersion.build() );
                                                                                                                          ^~~~~
../shared/include/file/file_studio_setup.h: In member function 'void FileStudio::NeedStudioVersion(const char*)':
../shared/include/file/file_studio_setup.h:192:94: error: expected unqualified-id before '(' token
             m_file_header.minStudioVersion = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                              ^~~~~
../shared/include/file/file_studio_setup.h:192:94: error: expected primary-expression before ')' token
             m_file_header.minStudioVersion = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                              ^~~~~
../shared/include/file/file_studio_setup.h:192:94: error: expected primary-expression before ')' token
             m_file_header.minStudioVersion = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                              ^~~~~
../shared/include/file/file_studio_setup.h:192:114: error: expected unqualified-id before '(' token
             m_file_header.minStudioVersion = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                  ^~~~~
../shared/include/file/file_studio_setup.h:192:114: error: expected primary-expression before ')' token
             m_file_header.minStudioVersion = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                  ^~~~~
../shared/include/file/file_studio_setup.h:192:114: error: expected primary-expression before ')' token
             m_file_header.minStudioVersion = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                  ^~~~~
../shared/include/file/file_studio_setup.h: In member function 'void FileStudio::ShouldStudioVersion(const char*)':
../shared/include/file/file_studio_setup.h:200:103: error: expected unqualified-id before '(' token
             m_file_header.shouldStudioVersion = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                       ^~~~~
../shared/include/file/file_studio_setup.h:200:103: error: expected primary-expression before ')' token
             m_file_header.shouldStudioVersion = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                       ^~~~~
../shared/include/file/file_studio_setup.h:200:103: error: expected primary-expression before ')' token
             m_file_header.shouldStudioVersion = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                       ^~~~~
../shared/include/file/file_studio_setup.h:200:126: error: expected unqualified-id before '(' token
             m_file_header.shouldStudioVersion = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                              ^~~~~
../shared/include/file/file_studio_setup.h:200:126: error: expected primary-expression before ')' token
             m_file_header.shouldStudioVersion = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                              ^~~~~
../shared/include/file/file_studio_setup.h:200:126: error: expected primary-expression before ')' token
             m_file_header.shouldStudioVersion = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                              ^~~~~
../shared/include/file/file_studio_setup.h: In member function 'void FileStudio::NeedLibraryVersion(const char*)':
../shared/include/file/file_studio_setup.h:213:95: error: expected unqualified-id before '(' token
             m_file_header.minLibraryVersion = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                               ^~~~~
../shared/include/file/file_studio_setup.h:213:95: error: expected primary-expression before ')' token
             m_file_header.minLibraryVersion = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                               ^~~~~
../shared/include/file/file_studio_setup.h:213:95: error: expected primary-expression before ')' token
             m_file_header.minLibraryVersion = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                               ^~~~~
../shared/include/file/file_studio_setup.h:213:115: error: expected unqualified-id before '(' token
             m_file_header.minLibraryVersion = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                   ^~~~~
../shared/include/file/file_studio_setup.h:213:115: error: expected primary-expression before ')' token
             m_file_header.minLibraryVersion = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                   ^~~~~
../shared/include/file/file_studio_setup.h:213:115: error: expected primary-expression before ')' token
             m_file_header.minLibraryVersion = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                   ^~~~~
../shared/include/file/file_studio_setup.h: In member function 'void FileStudio::ShouldLibraryVersion(const char*)':
../shared/include/file/file_studio_setup.h:221:104: error: expected unqualified-id before '(' token
             m_file_header.shouldLibraryVersion = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                        ^~~~~
../shared/include/file/file_studio_setup.h:221:104: error: expected primary-expression before ')' token
             m_file_header.shouldLibraryVersion = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                        ^~~~~
../shared/include/file/file_studio_setup.h:221:104: error: expected primary-expression before ')' token
             m_file_header.shouldLibraryVersion = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                        ^~~~~
../shared/include/file/file_studio_setup.h:221:127: error: expected unqualified-id before '(' token
             m_file_header.shouldLibraryVersion = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                               ^~~~~
../shared/include/file/file_studio_setup.h:221:127: error: expected primary-expression before ')' token
             m_file_header.shouldLibraryVersion = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                               ^~~~~
../shared/include/file/file_studio_setup.h:221:127: error: expected primary-expression before ')' token
             m_file_header.shouldLibraryVersion = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                               ^~~~~
../shared/include/file/file_studio_setup.h: In member function 'void FileStudio::ShouldFirmware1Version(const char*)':
../shared/include/file/file_studio_setup.h:230:106: error: expected unqualified-id before '(' token
             m_file_header.shouldFirmware1Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                          ^~~~~
../shared/include/file/file_studio_setup.h:230:106: error: expected primary-expression before ')' token
             m_file_header.shouldFirmware1Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                          ^~~~~
../shared/include/file/file_studio_setup.h:230:106: error: expected primary-expression before ')' token
             m_file_header.shouldFirmware1Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                          ^~~~~
../shared/include/file/file_studio_setup.h:230:129: error: expected unqualified-id before '(' token
             m_file_header.shouldFirmware1Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:230:129: error: expected primary-expression before ')' token
             m_file_header.shouldFirmware1Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:230:129: error: expected primary-expression before ')' token
             m_file_header.shouldFirmware1Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h: In member function 'void FileStudio::NeedFirmware1Version(const char*)':
../shared/include/file/file_studio_setup.h:242:97: error: expected unqualified-id before '(' token
             m_file_header.minFirmware1Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:242:97: error: expected primary-expression before ')' token
             m_file_header.minFirmware1Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:242:97: error: expected primary-expression before ')' token
             m_file_header.minFirmware1Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:242:117: error: expected unqualified-id before '(' token
             m_file_header.minFirmware1Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                     ^~~~~
../shared/include/file/file_studio_setup.h:242:117: error: expected primary-expression before ')' token
             m_file_header.minFirmware1Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                     ^~~~~
../shared/include/file/file_studio_setup.h:242:117: error: expected primary-expression before ')' token
             m_file_header.minFirmware1Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                     ^~~~~
../shared/include/file/file_studio_setup.h: In member function 'void FileStudio::ShouldFirmware2Version(const char*)':
../shared/include/file/file_studio_setup.h:264:106: error: expected unqualified-id before '(' token
             m_file_header.shouldFirmware2Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                          ^~~~~
../shared/include/file/file_studio_setup.h:264:106: error: expected primary-expression before ')' token
             m_file_header.shouldFirmware2Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                          ^~~~~
../shared/include/file/file_studio_setup.h:264:106: error: expected primary-expression before ')' token
             m_file_header.shouldFirmware2Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                          ^~~~~
../shared/include/file/file_studio_setup.h:264:129: error: expected unqualified-id before '(' token
             m_file_header.shouldFirmware2Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:264:129: error: expected primary-expression before ')' token
             m_file_header.shouldFirmware2Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:264:129: error: expected primary-expression before ')' token
             m_file_header.shouldFirmware2Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h: In member function 'void FileStudio::NeedFirmware2Version(const char*)':
../shared/include/file/file_studio_setup.h:276:97: error: expected unqualified-id before '(' token
             m_file_header.minFirmware2Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:276:97: error: expected primary-expression before ')' token
             m_file_header.minFirmware2Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:276:97: error: expected primary-expression before ')' token
             m_file_header.minFirmware2Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:276:117: error: expected unqualified-id before '(' token
             m_file_header.minFirmware2Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                     ^~~~~
../shared/include/file/file_studio_setup.h:276:117: error: expected primary-expression before ')' token
             m_file_header.minFirmware2Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                     ^~~~~
../shared/include/file/file_studio_setup.h:276:117: error: expected primary-expression before ')' token
             m_file_header.minFirmware2Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                     ^~~~~
../shared/include/file/file_studio_setup.h: In member function 'void FileStudio::ShouldFirmware3Version(const char*)':
../shared/include/file/file_studio_setup.h:298:106: error: expected unqualified-id before '(' token
             m_file_header.shouldFirmware3Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                          ^~~~~
../shared/include/file/file_studio_setup.h:298:106: error: expected primary-expression before ')' token
             m_file_header.shouldFirmware3Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                          ^~~~~
../shared/include/file/file_studio_setup.h:298:106: error: expected primary-expression before ')' token
             m_file_header.shouldFirmware3Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                          ^~~~~
../shared/include/file/file_studio_setup.h:298:129: error: expected unqualified-id before '(' token
             m_file_header.shouldFirmware3Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:298:129: error: expected primary-expression before ')' token
             m_file_header.shouldFirmware3Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:298:129: error: expected primary-expression before ')' token
             m_file_header.shouldFirmware3Version = header_version( shouldVersion.master(), shouldVersion.major(), shouldVersion.minor(), shouldVersion.build() );
                                                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h: In member function 'void FileStudio::NeedFirmware3Version(const char*)':
../shared/include/file/file_studio_setup.h:310:97: error: expected unqualified-id before '(' token
             m_file_header.minFirmware3Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:310:97: error: expected primary-expression before ')' token
             m_file_header.minFirmware3Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:310:97: error: expected primary-expression before ')' token
             m_file_header.minFirmware3Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                 ^~~~~
../shared/include/file/file_studio_setup.h:310:117: error: expected unqualified-id before '(' token
             m_file_header.minFirmware3Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                     ^~~~~
../shared/include/file/file_studio_setup.h:310:117: error: expected primary-expression before ')' token
             m_file_header.minFirmware3Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                     ^~~~~
../shared/include/file/file_studio_setup.h:310:117: error: expected primary-expression before ')' token
             m_file_header.minFirmware3Version = header_version( minVersion.master(), minVersion.major(), minVersion.minor(), minVersion.build() );
                                                                                                                     ^~~~~
../shared/src/channel/channel_1_2.cpp: In member function 'int CChannel1_2::WriteEntranceListData(int, int*)':
../shared/src/channel/channel_1_2.cpp:2901:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if (iListNum != -1) break;
         ^~
../shared/src/channel/channel_1_2.cpp:2902:5: note: here
     case 1:
     ^~~~
../shared/src/channel/channel_1_2.cpp:2911:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if (iListNum != -1) break;
         ^~
../shared/src/channel/channel_1_2.cpp:2912:5: note: here
     case 2:
     ^~~~
../shared/src/channel/channel_1_2.cpp:2921:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if (iListNum != -1) break;
         ^~
../shared/src/channel/channel_1_2.cpp:2922:5: note: here
     case 3:
     ^~~~
make: **
* [Libraries.mk:95: Release/channel_1_2.o] Error 1


Hier, das hab ich geade noch gefunden:

"The makedev(), major(), and minor() functions are not specified in POSIX.1, but are present on many other systems"

Okay... ich hab major und minor mal replaced, jetzt geht es viel weiter, jetzt häng ich wieder bei dem m_flock Fehler (m_flock hab ich wieder hinzugefügt):
struct flock m_flock;

Fehler:
Code:
g++ -fvisibility=hidden -Wno-deprecated-declarations -Wno-ignored-qualifiers -I../ -I../shared/include/ -I../3rd/ -I../3rd/boost/ -O3  -W -c -std=c++11 -fmessage-length=0 -fPIC -MMD -MP -MF"Release/connection_base.d" -MT"Release/connection_base.d" -o"Release/connection_base.o" "../shared/src/datafox/communication/connection_base.cpp"
In file included from ../shared/src/datafox/communication/connection_base.cpp:11:
../shared/include/datafox/communication/connection_base.h:376:27: error: field 'm_flock' has incomplete type 'Datafox::Communication::flock'
             struct flock  m_flock;
                           ^~~~~~~
../shared/include/datafox/communication/connection_base.h:376:20: note: forward declaration of 'struct Datafox::Communication::flock'
             struct flock  m_flock;
                    ^~~~~
 
Zuletzt bearbeitet:
Okay verstehe, steht in deiner termio.h dann auch genau das drin:

Code:
/* Compatible <termio.h> for old `struct termio' ioctl interface.
2 This is obsolete; use the POSIX.1 `struct termios' interface
3 defined in <termios.h> instead. */
4
5 #include <termios.h>
6 #include <sys/ioctl.h>

header_version ist von der Klasse SoftwarebuildVersion ( shared/include/file/file_studio_setup.h ) und hat eine Memberfunktion major()
Das sieht so auch erstmal richtig aus, aber auch komisch, dass der manchmal nicht major anmeckert sondern erst minor
 
  • Gefällt mir
Reaktionen: Sithys
Ja moin... es läuft! Ich hab noch einiges geändert, termio.h noch mal angefasst, in der connection_base.cpp noch aus termio termios gemacht, timeval included, flock included mit fcntl ... build ist durchgelaufen, ich hab eine Datei - mega Revan, vielen vielen Dank! :-)
 
  • Gefällt mir
Reaktionen: Revan1710
Das kann ich so jetzt zwar nicht alles nachvollziehen, aber wenns jetzt funktioniert :)
 
  • Gefällt mir
Reaktionen: Sithys
War auch echt viel Bastelarbeit... erstmal gucken, ob sich damit arbeiten lässt. Muss gleich erstmal 'ne neue Version bauen und dann testen!
 

Ähnliche Themen

Zurück
Oben