이 과정을 통해 배울 수 있는 것:
Adobe AIR C API를 사용하도록 설정한 C/C++ 프로젝트 만드는 법.

여기서는 Microsoft Visual C++을 사용하지만, C/C++ 코드를 작성하는 IDE 또는 명령행 컴파일러(예: GCC)를 사용해도 됩니다. 반드시 알아야 하는 것은 C/C++ 코드에서 FlashRuntimeExtensions.h를 보고 Adobe AIR SDK에서 FlashRuntimeExtensions.lib와 연결할 수 있는지 확인하는 것입니다.

디버깅이 필요한 시점이 되면 Visual C++을 사용하는 이유를 알게 될 것입니다.

1단계: Visual C++ 프로젝트 만들기

Visual C++에서 파일 > 새로 만들기 > 프로젝트:

프로젝트 유형으로 Win32 > Win32 Console Application을 선택하십시오. DLL을 만들 것입니다.

나타나는 마법사에서 Next를 클릭하고 응용 프로그램 설정 페이지에서 Application Type: DLL과 빈 프로젝트를 선택합니다.

Finish를 클릭하면 Visual C++의 솔루션 탐색기에서 다음과 같이 보입니다.

2단계: 프로젝트를 설정하여 AIR C API 보기

참고: VisualStudio 2015 및 Visual Studio 2017에서는 2단계 이전에 4단계가 필요합니다 (비어있는 dllMain.cpp 파일일지라도). 그렇지 않으면 구성 등록 정보> C/C++ 메뉴 항목이 표시되지 않습니다.
고마워요, 데이빗!

Solution Explorer에서 Header Files를 마우스 오른쪽 클릭한 다음 Add > Existing Item을 선택합니다. AIR SDK 설치 폴더로 이동하고 include 폴더를 찾으십시오. 거기서 FlashRuntimeExensions.h를 선택하십시오. 예: C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.6\sdks\4.6.0\include\FlashRuntimeExtensions.h.

또는 FlashRuntimeExtensions.h를 프로젝트 폴더에 복사하고 거기에서 추가 할 수 있습니다. 더 나은 것이 궁금하신 분은 이 블로그 게시물을 읽어보십시오: 프로젝트에 FlashRuntimeExtensions.h 사본이 필요합니까?

Adobe AIR SDK 폴더에서 FlashRuntimeExtensions.h를 직접 사용하도록 선택한 경우 프로젝트의 해당 폴더에서 FlashRuntimeExtensions.h를 찾도록 지시해야 합니다. 프로젝트의 속성 > C/C++ > General > Additional Include Directories로 이동하여 FlashRuntimeExtensions.h가 포함된 폴더의 경로를 추가합니다.

아래처럼 보이면 됩니다.

3단계: AIR C 구현이 있는 링커에게 알립니다.

이전 단계에서 작성한 코드에 Adobe AIR C API가 노출되었습니다. 그러나 이 헤더에는 아래와 같이 정의만 있고 구현은 없습니다.

typedef FREObject (*FREFunction)(
    FREContext ctx,
    void* functionData,
    uint32_t argc,
    FREObject argv[])

코드에 implepementation을 사용 가능하게 하려면 프로젝트가 살아있는 정적 라이브러리를 사용해야 합니다. 이 작업은 두 단계로 수행됩니다.

먼저 프로젝트의 속성 페이지를 열고 (Solution Explorer에서 프로젝트를 마우스 오른쪽 클릭하고 Properties를 선택) Linker > General > Additional Library Directories에서 FlashRuntimeExtensions.lib가 있는 Adobe AIR SDK의 폴더 경로를 추가합니다.

설치시 C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.6\sdks\4.6.0\lib\win에 있습니다.

FlashRuntimeExtensions.h 헤더를 추가할 때와 동일한 원칙이 적용됩니다. 프로젝트에 FlashRuntimeExtensions.lib 및 FlashRuntimeExtensions.lib의 복사본이 필요하거나 원치 않을 수도 있습니다. 살펴보기: 프로젝트에 FlashRuntimeExtensions.h의 사본이 필요합니까?

그런 다음 관심있는 정적 라이브러리의 이름을 프로젝트에 지정하십시오. 여전히 속성에서 Linker > Input > Additional Dependencies를 열고 FlashRuntimeExtensions.lib을 아래와 같이 추가하십시오.

4단계: 소스 파일 추가 및 DLL 빌드

솔루션 탐색기(Solution Explorer)에서 소스 파일을 마우스 오른쪽 클릭한 다음 Add > New Item…을 선택하십시오.

파일 형식으로 C++ 파일(.cpp)을 선택하고 이름을 지정하십시오. 내 이름은 dllMain.cpp입니다.

이제 프로젝트를 만들어 보겠습니다. 충격, 공포! 아직 코드가 없는데도 다음과 같이 DLL을 얻을 수 있습니다.

1>------ Build started: Project: DiaDrawWindowsANETutorialDLL, Configuration: Debug Win32 ------
1> dllMain.cpp
1> DiaDrawWindowsANETutorialDLL.vcxproj -> C:\Users\radoslava\dev\Windows ANE Template\NativeExtension\NativeLibrary\win\DiaDrawWindowsANETutorialDLL\Debug\DiaDrawWindowsANETutorialDLL.dll
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

나는 당신의 손이 근질거리는 것을 알고 있습니다. 이 튜토리얼의 다음 부분으로 넘어가십시오.

원문: http://easynativeextensions.com/windows-tutorial-the-native-dll-project/