# Windows Configuration
Here are examples of different Windows configurations for building for different plaforms.
Please make sure you have compelted the Quick Start Guide, otherwise some steps may fail.
# PC Builds
In our PC example we have used Visual Studio 2017 which is automatically setup when creating a template c++ project, see our Quick Start Guide. You can find the Visual Studio project files under com.company.cocos/proj.win32/...
# Visual Studio 2017 Settings
- Start by right clicking the com.company.cocos/proj.win32/com.company.cocos.sln > Open with > Visual Studio 2017
- Right click on your Visual Studio Project in the Solution Explorer and select Properties
- Navigate to C/C++ > General and in the Additional Include Directories section add the following entry:
..\Frameplay\
- Navigate to Linker > General and in the Additional Library Directories section add the following entry:
..\Frameplay\Native\Platforms\Windows\Win32\
- Navigate to Linker > Input and under the Additional Dependencies section add the following entry:
FrameplayNative.lib
- The FrameplayNative.dll must be copied over to your build output directory. Use a Post Build Event by navigating to Build Events > Post-Build Event and under the Command Line section add the following entry:
copy /Y "..\Frameplay\Native\Platforms\Windows\Win32\FrameplayNative.dll" "$(OutDir)\FrameplayNative.dll"
# Build Win32
You should now be able to build in Visual Studio 2017 and see the template project open up, displaying a handful of mock advertisements. You can also build by running the following commands. Successful builds will be located in com.company.cocos/bin/debug/win32/...
cd ./com.company.cocos
cocos compile -p win32 -m debug
# Android Builds
In our Android example we have used CMake to build our Android apk. CMake is automatically setup when creating a template c++ project, see our Quick Start Guide. You can find the CMakeLists.txt in the root of the project com.company.cocos/CMakeLists.txt
# CMAKE Settings
- Open the CMakeLists.txt file in the project root directory
- Add
Frameplay/
to the target_include_directories
target_include_directories(${APP_NAME}
PRIVATE Frameplay/
)
- Include the
libFrameplayNative.so
andlibc--_shared.so
libraries fromFrameplay/Native/Platforms/Android/${ANDROID_ABI}
folder
set(FRAMEPLAY_ANDROID_LIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Frameplay/Native/Platforms/Android/${ANDROID_ABI}/)
add_library(libFrameplayNative SHARED IMPORTED)
set_target_properties(libFrameplayNative PROPERTIES IMPORTED_LOCATION ${FRAMEPLAY_ANDROID_LIB_PATH}libFrameplayNative.so)
add_library(libc--_shared SHARED IMPORTED GLOBAL)
set_target_properties(libc--_shared PROPERTIES IMPORTED_LOCATION ${FRAMEPLAY_ANDROID_LIB_PATH}libc--_shared.so)
- Link the libraries to your app
target_link_libraries(${APP_NAME} <your other libraries> libFrameplayNative libc++_shared)
- Add a custom command to copy the files from the lib directory into the build output directory.
add_custom_command
(
TARGET ${APP_NAME} PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
${FRAMEPLAY_ANDROID_LIB_PATH} $<TARGET_FILE_DIR:${APP_NAME}>
)
# Build Android
You should now be able to build by running the following commands. Successful builds will be located in com.company.cocos/bin/debug/android/...
cd ./com.company.cocos
cocos compile -p android -m debug