2017-03-10 2 views
0

Asio의 boostless 버전을 사용하는 교차 플랫폼 프로젝트가 있습니다. OSX에 나는 다음 내 프로젝트에 포함 라이브러리를 구축 할 autotools를를 사용 : 나는 Windows 용 및시 지침을 찾을 수 없습니다Windows에서 Asio가있는 이상한 오류가 발생했습니다.

exec_program(COMMAND "./autogen.sh" WORKING_DIRECTORY ${asio_SOURCE_DIR}/asio) 
exec_program(COMMAND "./configure --without-boost" WORKING_DIRECTORY ${asio_SOURCE_DIR}/asio) 

CMake가하는 Asio 그래서 비주얼 스튜디오 파일을 생성 할 내가 위의 지시에 울타리 것을 통지 실행 Unix 플랫폼에서만 실행됩니다.

하지만 지금은 Windows에서 이상한 오류를 받고 있어요 :

asio\include\generic\basic_endpoint.hpp(71): error c2039: 'protocol' is not a member of 'std::basic_string<chr, std::char_traits<<char>, std::allocation<char>>' 

나는 또한 내가 asio::generic::stream_protocol::endpoint로 변경했다 asio::local::stream_protocol::endpoint의 인스턴스를했다.

이 코드는 모두 OSX에서 완벽하게 컴파일되고 실행되었습니다.

어떤 일이 벌어지고 있는지 알 수 있습니까?

+0

MCVE를 작성하십시오. http://stackoverflow.com/help/mcve –

+0

Linux에서'-pedantic' 플래그를 사용해보십시오. 이렇게하면 C++ 표준에 엄격하게 적용되며 gcc의 허용 오차로 인한 것인지 여부를 알 수 있습니다. –

+0

@ TheQuantumPhysicist 나는 이미 OSX에서 그 깃발을 가지고있다. GCC4.8은 문제없이 코드를 컴파일합니다. – ruipacheco

답변

0

오른쪽, 이것은 바보 같았습니다. 나는 유닉스 소켓이없는 Windows에서 컴파일하고있다.

Ah-to-the-duh.