http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#mingw의 단계를 따라 MinGW
을 사용하여 ACE (Adaptive Communication Environment) 6.4.2를 구축 중입니다. 나는 Windows10 64 비트 운영 체제를 사용합니다. 나는 C++ 프로젝트를 구축하는 데있어 매우 새로운 것이다.MinGW를 사용하는 ACE (Adaptive Communication Environment) 구축
https://sourceforge.net/projects/mingw/files/에서 MinGW를 설치했습니다. 32 비트 버전이라고 생각합니다. MinGW 설치 관리자를 사용하여 모든 패키지를 다운로드했습니다.
난 http://download.dre.vanderbilt.edu/에서 ACE 6.4.2 다운로드 E로 추출 : /dependencies/ACE-6.4.2MinGW
의 루트 레벨 폴더 구조는 아래와 같다. 시스템 변수 path
에 /dependencies/MinGW/msys/1.0/bin :/종속 /는 MinGW/bin 및 E :
나는 E를 포함한다.
열고
나는 다음 단계를했다. 는 MinGW의 bin 디렉토리에MSYS shell
:PATH
환경 변수를 설정 :export PATH=/e/dependencies/MinGW/bin:$PATH
추가
ACE_ROOT
환경 변수를 가리키는 ACE 래퍼 소스 트리의 루트 :export ACE_ROOT=/e/dependencies/ACE-6.4.2/ACE_wrappers
파일을 생성은에
config.h
라고#include "ace/config-win32.h"
다음을 포함하는
-
include $(ACE_ROOT)/include/makeinclude/platform_mingw32.GNU INSTALL_PREFIX=/e/dependencies/ACE-6.4.2-install
이cd $ACE_ROOT/ace make
$ACE_ROOT/ace
디렉토리
MSYS
쉘에서
내가 이해 한 것은 내 그 g++
입니다 : 파일을 만든
가 포함 된 $ACE_ROOT/include/makeinclude
디렉토리에 platform_macros.GNU
라고 MinGW
이 사용됩니다.
그리고 오류가
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
로그는 궁극적으로 내가 ACE를 사용하여 응용 프로그램 개발을위한 QT Creator를 사용해야합니다. 그리고 MinGw 32 비트 버전의 QT 빌드 만 찾을 수있었습니다. 그래서 저는 ACE 구축을 위해 MinGW 32 비트를 선택했습니다.
아마도 조금 더 직접 살펴 봐야 할 것입니다. 소스 코드에서 C++ 코드를 컴파일 해 본 경험이 있습니까? MingW의 어떤 버전을 GCC 버전으로 사용하고 있습니까? 둘째, 첫 번째 중요한 오류를보고 하시겠습니까? 두 번째 오류를 설명 할 수없는 이전 오류가있을 수 있습니다. 빌드 로그에서 두 번째 또는 일흔 초의 오류를 디버깅하는 것은 의미가 없습니다. make의 출력을 로그 파일로 재지 정하여 pastebin에 붙여넣고 검토 할 수 있습니다. –
오류없이 MinGW-64 (http://mingw-w64.org/doku.php 참조)를 사용하여 매일 ACE를 컴파일합니다. 어떤 ACE 버전, 어떤 MinGW, 어떻게 설정했는지에 대한 세부 사항을 제공해주세요. –
아마도 새로운 mingw 버전 일 것입니다.'g ++ --version'의 출력은 무엇입니까? ace/config.h 파일의 맨 위에'#define ACE_HAS_POSIX_TIME 1'을 추가하십시오. –