2016-09-05 1 views
0

Visual Studio 2015에서 C++로 코딩되었으며 크로스 플랫폼 (현재 Windows 및 Linux 지원)을 목표로하는 응용 프로그램에서는 Apple의 Appkit에서 NSEvent에 액세스 할 수 있습니까?Visual Studio 2015에서 C++로 만든 크로스 플랫폼 응용 프로그램에서 Apple Appkit의 NSEvent를 사용할 수 있습니까?

예를 들어, iOS 사용자가 어떤 마우스 버튼을 누르는 지 검색하는 경우 : Visual Studio로 코딩 된 C++ 응용 프로그램이 pressedMouseButtons() 함수의 결과를 검색 할 수 있습니까? thee Appkit의 NSEvent 개체의 일부입니까?

그렇다면 어떻게 이러한 함수를 호출해야합니까?

답변

0

대상 플랫폼에있는 API 만 호출 할 수 있습니다. 누군가가 Appkit 포트를 사용하지 않으면 않는 한.

일반적인 전략은 플랫폼 특정 섹션을 사전 처리기 조건 (#ifdef)으로 랩핑하는 것입니다. 당신의 대안은 당신이 사용하고자하는 Appkit 함수와 데이터 구조의 에뮬레이션을 구현하는 것입니다. 비 Apple 플랫폼에서 작동 할 필요는 없으며 미리 정의 된 테스트 데이터를 반환하면 충분합니다.

+0

답변 해 주셔서 감사합니다. 나는 전처리 조건으로 애플 코드 부분을 포장해야한다는 것을 알고있다. 그게 내가 이미 Windows/Linux의 코드 영역에서하고있는 일이다. 따라서이 경우 Visual Studio 2015에서 C++을 사용하여 AppKit에서 호출하는 코드 섹션을 가질 수 있습니까? AppKit에 Objective-C가 필요하기 때문에 정확히 어떻게해야하는지 알 수 없습니다. 그리고 어떻게해야 하는가에 따라, 나는 무엇을'#include '해야하고'NSEvent :: pressedMouseButtons()'타입의 함수를 호출해야 하는지를 의미한다. –

+0

나는 당신의 목표를 이해하지 못한다고 생각합니다. Visual C++는 Windows를 대상으로합니다 (Linux 및 Android의 일부 확장 기능 사용). 그래서 내 가정은 모든 대상에 대한 공통 코드 기반을 갖기 위해 노력했지만 개별 플랫폼에서 빌드 및 실행해야한다는 것이 었습니다. 비 Apple 플랫폼에서 pressedMouseButtons()와 같은 AppKit 함수를 호출하려는 경우 프레임 워크의 포팅 된 버전을 찾거나 이러한 함수를 직접 구현하거나 완전히 기능을 수행하거나 테스트 스텁을 구현해야합니다. AppKit의 후속 버전이며 Windows 및 Linux에서 사용할 수있는 Cocoa/GNUstep을 살펴 보셨습니까? – stanthomas

+0

나는 당신이 다시 한 번 언급했음을 알지 못했다. 그래서, Visual Studio 205에 C++로 코드를 작성하면, 컴파일 할 때 Apple Mac에서 함수 NSEvent ::에서 값을 검색 할 수있는 응용 프로그램을 생성 할 수 있습니다. pressedMouseButtons()'를 호출합니다. –

관련 문제