Ich erstelle Adaptive Communication Environment (ACE) 6.4.2 unter Verwendung von MinGW
folgenden Schritten in http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#mingw. Ich benutze Windows10 64-Bit-Betriebssystem. Ich bin sehr neu beim Erstellen von C++ - Projekten.Aufbau der adaptiven Kommunikationsumgebung (ACE) mit MinGW
Ich installierte MinGW von https://sourceforge.net/projects/mingw/files/. Ich glaube, es ist eine 32-Bit-Version. Ich habe MinGW Installation Manager verwendet, um alle Pakete herunterzuladen.
ich heruntergeladen ACE 6.4.2 von http://download.dre.vanderbilt.edu/ und extrahiert E: /dependencies/ACE-6.4.2
Die Root-Ebene Ordnerstruktur von MinGW
unten gezeigt.
I umfassen E:/Abhängigkeiten/MinGW/sind und E: /dependencies/MinGW/msys/1.0/bin auf Systemvariable path
.
Ich habe die folgenden Schritte:
eröffnen
MSYS shell
. SetPATH
Umgebungsvariable auf MinGW bin-Verzeichnis:export PATH=/e/dependencies/MinGW/bin:$PATH
Added
ACE_ROOT
Umgebungsvariable zeigt auf die Wurzel der ACE-Wrapper Quellbaum:export ACE_ROOT=/e/dependencies/ACE-6.4.2/ACE_wrappers
eine Datei erstellt namens
config.h
in der$ACE_ROOT/ace
Verzeichnis, das enthält:#include "ace/config-win32.h"
eine Datei erstellt namens
platform_macros.GNU
im$ACE_ROOT/include/makeinclude
Verzeichnis enthält:include $(ACE_ROOT)/include/makeinclude/platform_mingw32.GNU INSTALL_PREFIX=/e/dependencies/ACE-6.4.2-install
Im
MSYS
Schale,cd $ACE_ROOT/ace make
Was habe ich, dass g++
innerhalb verstanden worden ist MinGW
wird verwendet.
Und das Fehlerprotokoll
make[3]: Entering directory 'e:/dependencies/ACE-6.4.2/ACE_wrappers/ace'
GNUmakefile: /e/dependencies/ACE-6.4.2/ACE_wrappers/ace/GNUmakefile.ACE MAKEFLAGS=w
g++ -Wnon-virtual-dtor -O3 -g -mthreads -mtune=pentiumpro -fno-strict-aliasing -Wall -W -Wpointer-arith -pipe -DACE_HAS_CUSTOM_EXPORT_MACROS=0 -Wno-unknown-pragmas -Ie:/dependencies/ACE-6.4.2/ACE_wrappers -DACE_NO_INLINE -I.. -DACE_BUILD_DLL -c -o .shobj/Local_Name_Space.o Local_Name_Space.cpp
In file included from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/os_include/os_sched.h:25:0,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/OS_NS_Thread.h:30,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Thread_Mutex.h:29,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Log_Category.h:18,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Malloc.h:22,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Malloc_T.h:16,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Local_Name_Space.h:18,
from Local_Name_Space.cpp:1:
e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/os_include/os_time.h:56:16: error: redefinition of 'struct timespec'
typedef struct timespec
^
In file included from e:\dependencies\mingw\include\sys\time.h:3:0,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/os_include/sys/os_time.h:28,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/os_include/sys/os_resource.h:25,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/os_include/sys/os_wait.h:26,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/os_include/os_stdlib.h:27,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Basic_Types.h:54,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Log_Msg.h:26,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Log_Category.h:17,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Malloc.h:22,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Malloc_T.h:16,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Local_Name_Space.h:18,
from Local_Name_Space.cpp:1:
e:\dependencies\mingw\include\time.h:102:8: error: previous definition of 'struct timespec'
struct timespec
^
In file included from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Local_Name_Space_T.cpp:15:0,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Local_Name_Space_T.h:259,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Local_Name_Space.h:126,
from Local_Name_Space.cpp:1:
e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/OS_NS_unistd.h:322:45: warning: 'useconds_t' is deprecated [-Wdeprecated-declarations]
useconds_t interval = 0);
^
In file included from e:\dependencies\mingw\include\wchar.h:66:0,
from e:\dependencies\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:44,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/ace_wchar.h:43,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/config-lite.h:33,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/ACE_export.h:10,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Malloc.h:16,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Malloc_T.h:16,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Local_Name_Space.h:18,
from Local_Name_Space.cpp:1:
e:\dependencies\mingw\include\sys\types.h:221:23: note: declared here
typedef unsigned long useconds_t __MINGW_ATTRIB_DEPRECATED;
^
In file included from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Local_Name_Space_T.cpp:15:0,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Local_Name_Space_T.h:259,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Local_Name_Space.h:126,
from Local_Name_Space.cpp:1:
e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/OS_NS_unistd.h:322:45: warning: 'useconds_t' is deprecated [-Wdeprecated-declarations]
useconds_t interval = 0);
^
e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/OS_NS_unistd.h:322:45: warning: 'useconds_t' is deprecated [-Wdeprecated-declarations]
e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/OS_NS_unistd.h:326:78: warning: 'useconds_t' is deprecated [-Wdeprecated-declarations]
const ACE_Time_Value &tv_interval = ACE_Time_Value::zero);
^
In file included from e:\dependencies\mingw\include\wchar.h:66:0,
from e:\dependencies\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:44,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/ace_wchar.h:43,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/config-lite.h:33,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/ACE_export.h:10,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Malloc.h:16,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Malloc_T.h:16,
from e:/dependencies/ACE-6.4.2/ACE_wrappers/ace/Local_Name_Space.h:18,
from Local_Name_Space.cpp:1:
e:\dependencies\mingw\include\sys\types.h:221:23: note: declared here
typedef unsigned long useconds_t __MINGW_ATTRIB_DEPRECATED;
^
e:/dependencies/ACE-6.4.2/ACE_wrappers/include/makeinclude/rules.local.GNU:188: recipe for target '.shobj/Local_Name_Space.o' failed
make[3]: *** [.shobj/Local_Name_Space.o] Error 1
make[3]: Leaving directory 'e:/dependencies/ACE-6.4.2/ACE_wrappers/ace'
GNUmakefile:45: recipe for target 'ACE' failed
make: *** [ACE] Error 2
Letztlich Ich habe QT Creator ACE für die Anwendungsentwicklung zu verwenden. Und ich konnte nur MinGw 32 Bit Versionen von QT Build finden. Deshalb wähle ich MinGW 32 Bit zum Aufbau von ACE.
Sie müssen wahrscheinlich selbst ein wenig mehr in die Sache schauen. Haben Sie viel Erfahrung beim Kompilieren von C++ Code aus Quellen? Welche Version von MingW benutzt du mit welcher Version von GCC? Zweitens, sind Sie sicher, dass Sie den ersten signifikanten Fehler melden? Möglicherweise gibt es frühere Fehler, die Sie einfach übersehen haben, die den zweiten Fehler erklären würden. Das Debuggen des zweiten oder siebzig Sekunden Fehlers in einem Erstellungsprotokoll ist sinnlos. Sie könnten die Ausgabe von make in eine Protokolldatei umleiten und sie in pastebin einfügen und dann überprüfen. –
Wir kompilieren täglich ACE mit MinGW-64 (siehe http://mingw-w64.org/doku.php) ohne Fehler. Bitte geben Sie an, welche ACE-Version, welches MinGW, wie Sie es konfiguriert haben, usw. –
Wahrscheinlich haben Sie eine sehr neue Mingw-Version, was ist die Ausgabe von 'g ++ --version'? Versuchen Sie, #define ACE_HAS_POSIX_TIME 1 am Anfang der Datei ace/config.h hinzuzufügen. –