{"id":232,"date":"2018-01-06T12:54:22","date_gmt":"2018-01-06T12:54:22","guid":{"rendered":"http:\/\/www.yazilimperver.com\/?p=232"},"modified":"2018-09-29T12:25:57","modified_gmt":"2018-09-29T12:25:57","slug":"visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi","status":"publish","type":"post","link":"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/","title":{"rendered":"VS 2017 ile C\/C++ K\u00fct\u00fcphanelerin (SDL) Android i\u00e7in Olu\u015fturulmas\u0131"},"content":{"rendered":"<p>Evet arkada\u015flar ba\u015fl\u0131ktan da anla\u015f\u0131laca\u011f\u0131 \u00fczere bu yaz\u0131mda sizler ile SDL 2.0.7. (mevcut yay\u0131nlanm\u0131\u015f son s\u00fcr\u00fcm SDL)&#8217;i VS ile Android i\u00e7in olu\u015fturma i\u00e7in gerekli ad\u0131mlardan bahsedece\u011fim.<\/p>\n<p>\u00d6ncelikle bu yaz\u0131mda kulland\u0131\u011f\u0131m kodlar\u0131 ve temel alt yap\u0131y\u0131 Matt Style&#8217;s \u0131n \u015fu yaz\u0131s\u0131ndan ald\u0131\u011f\u0131m\u0131 s\u00f6ylemem gerek. Kendisi olduk\u00e7a g\u00fczel bir \u015fekilde gerekli ad\u0131mlardan k\u0131saca bahsetmi\u015f. Ben ona ek olarak SDL 2.0.7. kullanaca\u011f\u0131m (o 2.0.5&#8217;i derlemi\u015fti, ufak ta olsa baz\u0131 farkl\u0131l\u0131klar var) ayr\u0131ca kullan\u0131m esnas\u0131nda bence i\u015finizi daha fazla kolayla\u015ft\u0131racak bir iki husustan bahsedecek ve Matt&#8217;in yaz\u0131s\u0131nda \u00e7ok a\u00e7\u0131k olarak ifade etmedi\u011fini d\u00fc\u015f\u00fcnd\u00fc\u011f\u00fcm bir iki noktaya de\u011finece\u011fim. Bu ve benzeri yaz\u0131lar\u0131mda yap\u0131lmas\u0131 gerekenleri uzun uzad\u0131ya a\u00e7\u0131klamaktansa madde madde anlatmay\u0131 tercih edece\u011fim. VS ve NDK ile ilgili genel bilgiler i\u00e7in <a href=\"http:\/\/www.yazilimperver.com\/index.php\/2018\/01\/04\/android-ndk-ile-ugrasirken-dikkat-edilecekler\/\">bir \u00f6nceki yaz\u0131m\u0131 <\/a>okuman\u0131z\u0131 tavsiye ediyorum.<\/p>\n<h2><strong><em><span style=\"color: #3366ff;\">Giri\u015f<\/span><\/em><\/strong><\/h2>\n<ul>\n<li>Masa\u00fcst\u00fc SDL uygulamalar\u0131ndan farkl\u0131 (bunlar i\u00e7in ilgili k\u00fct\u00fcphaneleri direk ekleyip yaz\u0131l\u0131mlar\u0131n\u0131z olu\u015fturabilirsiniz) olarak android i\u00e7in SDL kullanmak i\u00e7in bir ka\u00e7 nokta var g\u00f6z \u00f6n\u00fcnde bulundurulmas\u0131 gereken:\n<ul>\n<li>NDK&#8217;de SDL native bir uygulama olarak de\u011fil bir Java aktivitesi ile haberle\u015ferek kullan\u0131lmakta (donan\u0131m olaylar\u0131 ve girdilerini alabilmek i\u00e7in)<\/li>\n<li>\u00d6rnek bir \u015fablon her SDL s\u00fcr\u00fcm\u00fc ile yazarlar taraf\u0131ndan sunuluyor ama b\u00fcy\u00fck de\u011fi\u015fiklikler olabiliyor (2.0.6 da oldu\u011fu gibi). O sebeple yeni SDL&#8217;e ge\u00e7meden \u00f6nce bu de\u011fi\u015fiklikleri incelemeniz faydal\u0131 olabilir,<\/li>\n<li>Temel olarak \u00fc\u00e7 adet VS projesine ihtiyac\u0131n\u0131z var:\n<ol>\n<li>Bir basit android java uygulamas\u0131. Bu sizin cihaza y\u00fcklenecek olan android uygulaman\u0131z\u0131 olu\u015fturacak.<\/li>\n<li>SDL projesi. Bunu dinamik k\u00fct\u00fcphane olarak olu\u015fturup ekleyece\u011fiz.<\/li>\n<li>Son olarak native uygulaman\u0131z. Bunu da genelde dinamik k\u00fct\u00fcphane olarak olu\u015fturuyoruz.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><em><strong><span style=\"color: #3366ff;\">SDL 2 Dinamik K\u00fct\u00fcphanesini Olu\u015fturma<\/span><\/strong><\/em><\/h2>\n<ol>\n<li>Bir VS solution&#8217;\u0131 olu\u015fturuyoruz (<a href=\"http:\/\/www.yazilimperver.com\/index.php\/2018\/01\/04\/android-ndk-ile-ugrasirken-dikkat-edilecekler\/\">bir \u00f6nceki yaz\u0131m<\/a>da belirtilen \u015fekilde VS&#8217;in kuruldu\u011fundan emin olunuz l\u00fctfen). \u0130smine <strong><em>SDL2_Vs<\/em> <\/strong>diyebilirsiniz.<\/li>\n<li><strong>New Project -&gt; Installed -&gt; Templates -&gt; Visual C++ -&gt; Cross Platform -&gt; Android -&gt; Dynamic Shared Library (Android)<\/strong> projesi olu\u015fturup ismine <em><strong>SDL2<\/strong> <\/em>diyebilirsiniz.<\/li>\n<li>Precompiled header&#8217;lar\u0131 ve otomatik gelen dosyalar\u0131 kullanmayaca\u011f\u0131m\u0131z i\u00e7in olu\u015fturulan SDL2.h\/cpp ve pch.h dosyalar\u0131n\u0131 silin.<\/li>\n<li>Percompiled header kullan\u0131m\u0131n\u0131 kapat\u0131n.<\/li>\n<li>Projenin alt\u0131nda <em>Include<\/em> ve <em>Source<\/em> isimli iki dizin olu\u015fturun.<\/li>\n<li><a href=\"https:\/\/www.libsdl.org\/download-2.0.php\">SDL 2 Sayfas\u0131ndan<\/a> ilgili kaynak kodlar\u0131 (Source Code ba\u015fl\u0131\u011f\u0131 alt\u0131nda) indirin ve bunlar\u0131 bir yere a\u00e7\u0131n.\n<ol>\n<li>Bu dosyalar ile gelen <em>include<\/em> dizini i\u00e7eri\u011fini bir \u00f6nceki ad\u0131mda olu\u015fturdu\u011fumuz <em>Include<\/em> dizini i\u00e7erisine kopyalay\u0131n.<\/li>\n<li>Bu dosyalar ile gelen <em>src<\/em> dizini i\u00e7eri\u011fini bir \u00f6nceki ad\u0131mda olu\u015fturdu\u011fumuz <em>Source<\/em> dizini i\u00e7erisine kopyalay\u0131n ama VS&#8217;e hen\u00fcz eklemeyin.<\/li>\n<\/ol>\n<\/li>\n<li>\u015eimdi Source dizini alt\u0131ndaki hangi dosyalar\u0131 VS&#8217;e ekleyece\u011fimize bakal\u0131m. Asl\u0131nda burada izleyece\u011fimiz ad\u0131mlar\u0131 di\u011fer k\u00fct\u00fcphaneler i\u00e7in de izleyebilirsiniz.\n<ol>\n<li>\u00d6ncelikle derleme i\u00e7in gerekli bilgilerin bir\u00e7o\u011fu <strong>Android.mk<\/strong> i\u00e7erisinde bulunur.<\/li>\n<li><a href=\"http:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/Android.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-235\" src=\"http:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/Android-187x300.png\" alt=\"\" width=\"187\" height=\"300\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/Android-187x300.png 187w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/Android-637x1024.png 637w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/Android-500x804.png 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/Android-150x241.png 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/Android-400x643.png 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/Android-200x321.png 200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/Android.png 647w\" sizes=\"auto, (max-width: 187px) 100vw, 187px\" \/><\/a><\/li>\n<li>LOCAL_C_INCLUDES anahtar kelimeleri sizlerin VS i\u00e7erisine eklemeniz gereken Include dizinlerini belirtir (<em><strong>Property Pages-&gt;Configuration Properties-&gt;C\/C++ -&gt; General -&gt; Additional Include Directories<\/strong><\/em>)<\/li>\n<li>LOCAL_SRC_FILES anahtar kelimesi\u00a0sizlerin VS i\u00e7erisine eklemeniz gereken C\/C++ dosyalar\u0131n\u0131 belirtir. Bunlar\u0131 VS&#8217;e eklemeniz gerekmekte. Not. Burada bazen &#8220;exclude&#8221; kelimeleri kullan\u0131labilir, bu dosyalar\u0131 eklemeyiniz.<\/li>\n<li>LOCAL_CFLAGS anahtar kelimesi derleme ayarlar\u0131n\u0131 ifade eder ve genelde Linux makefile i\u00e7in kulland\u0131klar\u0131n\u0131za benzerlik g\u00f6sterirler. \u00d6r. -D ile ba\u015flayanlar\u0131\u00a0 (<em><strong>Property Pages-&gt;Configuration Properties-&gt;C\/C++ -&gt; Preprocessor -&gt; Preprocessor Definitions\u00a0<\/strong><\/em>alt\u0131na ekleyiniz.<\/li>\n<li>LOCAL_LDFLAGS anahtar kelimesi linker kapsam\u0131nda eklenmesi gereken k\u00fct\u00fcphaneleri belirtir.\u00a0<strong> (<em>Property Pages-&gt;Configuration Properties-&gt;Linker -&gt; Input -&gt; Additional Dependencies<\/em>) <\/strong>alt\u0131na ekleyiniz. Ayr\u0131ca matematik ve android k\u00fct\u00fcphanelerini de eklemelisiniz.<\/li>\n<li>Tabi b\u00fct\u00fcn anahtar kelimeler bu kadar de\u011fil. Di\u011ferlerini \u00f6\u011frenmek i\u00e7in\u00a0<a href=\"https:\/\/developer.android.com\/ndk\/guides\/android_mk.html\">https:\/\/developer.android.com\/ndk\/guides\/android_mk.html<\/a> sayfas\u0131na ba\u015fvurabilirsiniz.<\/li>\n<li>B\u00fct\u00fcn bunlar\u0131n yan\u0131nda bir \u00f6nceki yaz\u0131mda bahsetti\u011fim STL, derleyici ve C++ ayarlar\u0131n\u0131 da orada belirtti\u011fim \u015fekilde yapman\u0131z\u0131 \u00f6neririm (derleyici =&gt; CLang, STL =&gt; LLVM Shared STL (<a href=\"https:\/\/developer.android.com\/ndk\/guides\/cpp-support.html#libc\">libc<\/a>).<\/li>\n<li>Bu ayarlar\u0131 b\u00fct\u00fcn platform ve konfig\u00fcrasyon se\u00e7enekleri i\u00e7in de yapmay\u0131 unutmay\u0131n\u0131z.<\/li>\n<li>B\u00fct\u00fcn bunlar\u0131 yapt\u0131ktan sonra ilgili projeyi derledi\u011finizde libSDL2.so dosyas\u0131n\u0131n olu\u015ftu\u011funu g\u00f6receksiniz.<\/li>\n<li>A\u015fa\u011f\u0131da bu ad\u0131mlara ili\u015fkin ekran g\u00f6r\u00fcnt\u00fclerini g\u00f6rebilirsiniz:<\/li>\n<li>\n\t\t<style type=\"text\/css\">\n\t\t\t#gallery-1 {\n\t\t\t\tmargin: auto;\n\t\t\t}\n\t\t\t#gallery-1 .gallery-item {\n\t\t\t\tfloat: left;\n\t\t\t\tmargin-top: 10px;\n\t\t\t\ttext-align: center;\n\t\t\t\twidth: 33%;\n\t\t\t}\n\t\t\t#gallery-1 img {\n\t\t\t\tborder: 2px solid #cfcfcf;\n\t\t\t}\n\t\t\t#gallery-1 .gallery-caption {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t\t\/* see gallery_shortcode() in wp-includes\/media.php *\/\n\t\t<\/style>\n\t\t<div id='gallery-1' class='gallery galleryid-232 gallery-columns-3 gallery-size-medium'><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/genelayarlar\/'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"151\" src=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/GenelAyarlar-300x151.jpg\" class=\"attachment-medium size-medium\" alt=\"\" aria-describedby=\"gallery-1-236\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/GenelAyarlar-300x151.jpg 300w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/GenelAyarlar-768x387.jpg 768w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/GenelAyarlar-1024x516.jpg 1024w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/GenelAyarlar-500x252.jpg 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/GenelAyarlar-150x76.jpg 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/GenelAyarlar-400x201.jpg 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/GenelAyarlar-800x403.jpg 800w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/GenelAyarlar-200x101.jpg 200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/GenelAyarlar.jpg 1108w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-236'>\n\t\t\t\tGenel Ayarlar\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/include_pch\/'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"108\" src=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/include_pch-300x108.png\" class=\"attachment-medium size-medium\" alt=\"\" aria-describedby=\"gallery-1-237\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/include_pch-300x108.png 300w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/include_pch-768x277.png 768w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/include_pch-1024x369.png 1024w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/include_pch-500x180.png 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/include_pch-150x54.png 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/include_pch-1200x433.png 1200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/include_pch-400x144.png 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/include_pch-800x289.png 800w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/include_pch-200x72.png 200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/include_pch.png 1322w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-237'>\n\t\t\t\tInclude ve Precompiled Header ayarlar\u0131\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/preproc_libs\/'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"126\" src=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/preproc_libs-300x126.png\" class=\"attachment-medium size-medium\" alt=\"\" aria-describedby=\"gallery-1-238\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/preproc_libs-300x126.png 300w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/preproc_libs-768x323.png 768w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/preproc_libs-1024x431.png 1024w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/preproc_libs-500x210.png 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/preproc_libs-150x63.png 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/preproc_libs-1200x505.png 1200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/preproc_libs-400x168.png 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/preproc_libs-800x336.png 800w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/preproc_libs-200x84.png 200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/preproc_libs.png 1322w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-238'>\n\t\t\t\tLinker ve Preprocessor ayarlar\u0131\n\t\t\t\t<\/dd><\/dl><br style=\"clear: both\" \/>\n\t\t<\/div>\n<\/li>\n<\/ol>\n<\/li>\n<li>\u015eimdi SDL kodlar\u0131n\u0131 bu projeye ekleyece\u011fiz.<\/li>\n<\/ol>\n<p>Android Uygulamas\u0131n\u0131 Olu\u015fturma<\/p>\n<ol>\n<li><strong>New Project -&gt; Installed -&gt; Templates -&gt; Visual C++ -&gt; Cross Platform -&gt; Android -&gt; Basic Application (Android, Ant)<\/strong> projesi olu\u015fturup ismine <em><strong>SDL2_Application<\/strong> <\/em>diyebilirsiniz.<\/li>\n<li>Bu uygulama i\u00e7erisine ekleyece\u011fimiz Java tabanl\u0131 aktivite bizim native kodumuz \u00e7a\u011f\u0131r\u0131yor olacak.<\/li>\n<li>\u00d6ncelikle VS&#8217;den yeni olu\u015fturdu\u011fumuz projenin \u00fczerine gelip References&#8217;i se\u00e7ip SDL2 yi ekleyelim. Bu bir \u00f6nceki ba\u015fl\u0131kta olu\u015fturdu\u011fumuz SDL2 nin android paketi i\u00e7erisine eklenmesini sa\u011flayacak.<\/li>\n<li>\u015eimdi daha \u00f6nce kodlar\u0131n\u0131 indirdi\u011fimiz SDL 2.0.7 dizinine gidip i\u00e7erisinde bulunan <em>android-project<\/em> dizinine gidiyoruz. Buradaki b\u00fct\u00fcn dosyalar\u0131 yeni olu\u015fturdu\u011fumuz proje i\u00e7erisinde bulunan <em>src<\/em> dizinine kopyal\u0131yoruz. Bu dizin i\u00e7erisinde bir android uygulamas\u0131 i\u00e7in gereken b\u00fct\u00fcn dosyalar bulunmakta. Daha sonra VS i\u00e7erisinden b\u00fct\u00fcn dosyalar\u0131 g\u00f6ster se\u00e7ene\u011fini se\u00e7ip <em>jni<\/em> d\u0131\u015f\u0131ndaki b\u00fct\u00fcn dizin ve dosyalar\u0131 ekleyelim.<\/li>\n<li><em>org\/libsdl\/app<\/em> alt\u0131nda bulunan SDL\/SDLActivity, SDLAudioManager, SDLControllerManager.java dosyalar\u0131n\u0131 ve <em>res<\/em> dizini alt\u0131ndaki dosya ve dizinlerin eklendi\u011finden emin olunuz.<\/li>\n<li><em>src\/com\/SDL2_Application<\/em> alt\u0131nda olu\u015fturulan SDL2_Application.java dosyas\u0131n\u0131n i\u00e7eri\u011fini a\u015fa\u011f\u0131daki gibi g\u00fcncelleyiniz. Bu bizim native SDL aktivitesinin \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayacak olan kodu i\u00e7ermekte.<\/li>\n<li>\n<pre class=\"lang:java decode:true \" title=\"SDL2_Application.java\">package com.SDL2_Application;\r\n\r\nimport android.os.Bundle;\r\nimport org.libsdl.app.SDLActivity;\r\n\r\npublic class SDL2_Application extends SDLActivity\r\n{\r\n    \/** Called when the activity is first created. *\/\r\n    @Override\r\n    public void onCreate(Bundle savedInstanceState)\r\n    {\r\n        super.onCreate(savedInstanceState);\r\n    }\r\n}\r\n<\/pre>\n<p>&nbsp;<\/li>\n<li>Nihayetinde a\u015fa\u011f\u0131daki gibi bir proje yap\u0131s\u0131 elde ediyor olmal\u0131s\u0131n\u0131z.<\/li>\n<li>\u00a0<a href=\"http:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/SDL2AndroidProject.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-241\" src=\"http:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/SDL2AndroidProject-197x300.jpg\" alt=\"\" width=\"197\" height=\"300\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/SDL2AndroidProject-197x300.jpg 197w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/SDL2AndroidProject-150x228.jpg 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/SDL2AndroidProject-200x304.jpg 200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/SDL2AndroidProject.jpg 326w\" sizes=\"auto, (max-width: 197px) 100vw, 197px\" \/><\/a><\/li>\n<li>Burada AndroidManifest.xml i\u00e7erisinde bulunan &lt;activity andrroid:name=&#8221;SDL2_Application&#8221; isminin aktive ismi ile ayn\u0131 oldu\u011fundan emin olunuz.<\/li>\n<\/ol>\n<h2><em><strong><span style=\"color: #3366ff;\">SDL 2 Kullanan Uygulaman\u0131z\u0131n Olu\u015fturulmas\u0131<\/span><\/strong><\/em><\/h2>\n<ol>\n<li>Evet, SDL i olu\u015fturduk, Android uygulamas\u0131n\u0131 olu\u015fturduk. \u015eimdi geldi s\u0131ra kendi uygulamam\u0131za.<\/li>\n<li>Yukar\u0131da da bahsetti\u011fim gibi kendi uygulamam\u0131z\u0131 da Dynamic Shared Library olarak ekliyoruz.<\/li>\n<li><strong>New Project -&gt; Installed -&gt; Templates -&gt; Visual C++ -&gt; Cross Platform -&gt; Android -&gt; Dynamic Shared Library (Android)<\/strong> projesi olu\u015fturup ismine main deyiniz.<\/li>\n<li>SDL varsay\u0131lan olarak main dinamik k\u00fct\u00fcphanesinin y\u00fcklenmesini bekliyor android i\u00e7erisinde ama bunu de\u011fi\u015ftirebilirsiniz. Ben genelde ellemiyorum ama de\u011fi\u015ftirmek i\u00e7in SDLActivity.java dosyas\u0131 i\u00e7erisindeki 100. sat\u0131r\u0131n oralarda y\u00fcklenecek olan k\u00fct\u00fcphaneler g\u00f6sterilmi\u015f oradaki main i istedi\u011finiz isim ile de\u011fi\u015ftirebilirsiniz. Bu arada bu yaz\u0131mda bahsetmedim ama SDL2_Image da kullanacak iseniz buradan ilgili commentli sat\u0131r\u0131n commentini kald\u0131rman\u0131z gerekmekte.<\/li>\n<li>Precompiled header&#8217;lar\u0131 ve otomatik gelen dosyalar\u0131 kullanmayaca\u011f\u0131m\u0131z i\u00e7in olu\u015fturulan SDL2.h ve pch.h dosyalar\u0131n\u0131 silin.<\/li>\n<li>Percompiled header kullan\u0131m\u0131n\u0131 kapat\u0131n.<\/li>\n<li>SDL2&#8217;nin Include dizinini\u00a0(<em><strong>Property Pages-&gt;Configuration Properties-&gt;C\/C++ -&gt; General -&gt; Additional Include Directories<\/strong><\/em>) ayarlar\u0131 \u00fczerinden ekleyin,<\/li>\n<li><a href=\"http:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-244\" src=\"http:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property01-300x105.png\" alt=\"\" width=\"300\" height=\"105\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property01-300x105.png 300w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property01-768x270.png 768w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property01-1024x359.png 1024w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property01-500x175.png 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property01-150x53.png 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property01-1200x421.png 1200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property01-400x140.png 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property01-800x281.png 800w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property01-200x70.png 200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property01.png 1322w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/li>\n<li>Benzer \u015fekilde dinamik k\u00fct\u00fcphane olarak olu\u015fturdu\u011fumuz SDL2 k\u00fct\u00fcphanesinin bulundu\u011fu dizini linker ayarlar\u0131 \u00fczerinden ekleyiniz ve sonras\u0131nda SDL2 Input k\u0131sm\u0131na ekleyiniz.<\/li>\n<li>\n\t\t<style type=\"text\/css\">\n\t\t\t#gallery-2 {\n\t\t\t\tmargin: auto;\n\t\t\t}\n\t\t\t#gallery-2 .gallery-item {\n\t\t\t\tfloat: left;\n\t\t\t\tmargin-top: 10px;\n\t\t\t\ttext-align: center;\n\t\t\t\twidth: 33%;\n\t\t\t}\n\t\t\t#gallery-2 img {\n\t\t\t\tborder: 2px solid #cfcfcf;\n\t\t\t}\n\t\t\t#gallery-2 .gallery-caption {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t\t\/* see gallery_shortcode() in wp-includes\/media.php *\/\n\t\t<\/style>\n\t\t<div id='gallery-2' class='gallery galleryid-232 gallery-columns-3 gallery-size-medium'><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/additional_lib\/'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"170\" src=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/additional_lib-300x170.png\" class=\"attachment-medium size-medium\" alt=\"\" aria-describedby=\"gallery-2-245\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/additional_lib-300x170.png 300w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/additional_lib-768x436.png 768w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/additional_lib-500x284.png 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/additional_lib-150x85.png 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/additional_lib-400x227.png 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/additional_lib-800x454.png 800w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/additional_lib-200x114.png 200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/additional_lib.png 870w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-2-245'>\n\t\t\t\tLink Dizin Ayarlar\u0131\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/main_property02\/'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"54\" src=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property02-300x54.png\" class=\"attachment-medium size-medium\" alt=\"\" aria-describedby=\"gallery-2-246\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property02-300x54.png 300w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property02-768x138.png 768w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property02-1024x184.png 1024w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property02-500x90.png 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property02-150x27.png 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property02-1200x216.png 1200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property02-400x72.png 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property02-800x144.png 800w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property02-200x36.png 200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/01\/main_property02.png 1322w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-2-246'>\n\t\t\t\tLink K\u00fct\u00fcphane Ayarlar\u0131\n\t\t\t\t<\/dd><\/dl>\n\t\t\t<br style='clear: both' \/>\n\t\t<\/div>\n<\/li>\n<li>Main.cpp i\u00e7erisini temizleyin ve a\u015fa\u011f\u0131daki \u00f6rnek kodu ekleyin<\/li>\n<li>\n<pre class=\"lang:c++ decode:true \">#include &lt;SDL.h&gt;\r\n#include &lt;GLES\/gl.h&gt;\r\n#include &lt;GLES\/glext.h&gt;\r\n#include &lt;SDL_opengl.h&gt;\r\n\r\n#include &lt;jni.h&gt;\r\n#include &lt;android\/asset_manager.h&gt;\r\n#include &lt;android\/asset_manager_jni.h&gt;\r\n\r\n#include &lt;string&gt;\r\n\r\nint main(int argc, char** argsv)\r\n{\r\n\t\/\/put your SDL \/ game code here\r\n\r\n\tSDL_Window *window;                    \/\/ Declare a pointer\r\n\r\n\tSDL_Init(SDL_INIT_VIDEO);              \/\/ Initialize SDL2\r\n\r\n\r\n    SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES);\r\n    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 1);\r\n    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);\r\n\r\n\r\n    \/\/ Turn on double buffering with a 24bit Z buffer.\r\n    \/\/ May need to change this to 16 or 32\r\n    SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);\r\n\r\n    \/\/ Create an application window with the following settings:\r\n\twindow = SDL_CreateWindow(\r\n\t\t\"An SDL 2.0.7\",                  \/\/ window title\r\n\t\tSDL_WINDOWPOS_UNDEFINED,           \/\/ initial x position\r\n\t\tSDL_WINDOWPOS_UNDEFINED,           \/\/ initial y position\r\n\t\t640,                               \/\/ width, in pixels\r\n        480,                               \/\/ height, in pixels\r\n        SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_FULLSCREEN | SDL_WINDOW_BORDERLESS);\r\n\r\n\t\/\/ Check that the window was successfully created\r\n\tif (window == NULL) {\r\n\t\t\/\/ In the case that the window could not be made...\r\n\t\tprintf(\"Could not create window: %s\\n\", SDL_GetError());\r\n\t\treturn 1;\r\n\t}\r\n\r\n    \/\/ Create our opengl contex t and attach it to our window\r\n    void* mMainGLContext = SDL_GL_CreateContext(window);\r\n\r\n    glClearColor(0, 0, 0, 0);\r\n    glEnable(GL_CULL_FACE);\r\n    glShadeModel(GL_SMOOTH);\r\n    glEnable(GL_DEPTH_TEST);\r\n\r\n    \/\/Initialize Projection Matrix\r\n    glMatrixMode(GL_PROJECTION);\r\n    glLoadIdentity();\r\n\r\n    \/\/Initialize Modelview Matrix\r\n    glMatrixMode(GL_MODELVIEW);\r\n    glLoadIdentity();\r\n\r\n    while (true)\r\n    {\r\n        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);\r\n        glClearColor(255, 0, 0, 255);\r\n\r\n        SDL_GL_SwapWindow(window);\r\n    }\r\n\r\n\r\n\tSDL_Delay(3000);  \/\/ Pause execution for 3000 milliseconds, for example\r\n\r\n\t\/\/ Close and destroy the window\r\n\tSDL_DestroyWindow(window);\r\n\r\n\t\/\/ Clean up\r\n\tSDL_Quit();\r\n\r\n\r\n\treturn 0;\r\n}<\/pre>\n<p>&nbsp;<\/li>\n<li>Burada eklemi\u015f oldu\u011fumuz kod bizim uygulamam\u0131z\u0131n kodu olacak (\u00d6rnek olarak eklenmi\u015f kodta basit bir OpenGL contexti olu\u015fturulmakta ve arka plan k\u0131rm\u0131z\u0131 olarak boyanmaktad\u0131r). Uygulama \u00e7al\u0131\u015ft\u0131r\u0131l\u0131p SDL ilklendirmeleri bittikten sonra bu k\u0131s\u0131m \u00e7a\u011fr\u0131l\u0131yor olacak. Buradaki main fonksiyonunu \u00e7oklu platformlar i\u00e7in uyarlayarak kullanabilirsiniz.<\/li>\n<li>Bu projeyi de derledi\u011finiz zaman main.so dosyas\u0131 olu\u015fmu\u015f olacak ama i\u015fimiz hen\u00fcz bitmedi.<\/li>\n<li>\u015eimdi tekrar\u00a0<strong>SDL2_Application<\/strong> \u00fczerine gelip\u00a0References&#8217;i se\u00e7ip main i ekleyelim. Bu bizim en son olu\u015fturdu\u011fumuz uygulamam\u0131z\u0131n da android paketi i\u00e7erisine eklenmesini sa\u011flayacak.<\/li>\n<li>Evet aktif proje olarak\u00a0<strong>SDL2_Application<\/strong> \u0131 se\u00e7ip Ctrl + F5 yapt\u0131\u011f\u0131n\u0131z zaman uygulamam\u0131z ba\u011flam\u0131\u015f oldu\u011funuz em\u00fclat\u00f6r veya mobil cihaz \u00fczerinde \u00e7al\u0131\u015fmaya ba\u015flayacak. K\u0131rm\u0131z\u0131 bir ekran g\u00f6rmeniz laz\u0131m.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>Evet arkada\u015flar bu ad\u0131m ile birlikte bundan sonraki SDL projelerinizde kullanabilece\u011finiz minimum bir SDL uygulama \u015fablonu olu\u015fturmu\u015f olduk. Benzeri \u015fekilde siz de SDL uygulamalar\u0131 olu\u015fturabilir ya da di\u011fer benzeri C++ k\u00fct\u00fcphanelerini Andriod i\u00e7in VS de derleyebilirsiniz.<\/p>\n<p>Bu arada son bir not SDL2&#8217;yi bir kere b\u00fct\u00fcn platformlar ve konfig\u00fcrasyonlar i\u00e7in derledikten sonra sizlere \u00f6nerim bu k\u00fct\u00fcphaneleri NDK Yaz\u0131mda bahsetti\u011fim \u015fekilde libs \u00fczerinden uygulaman\u0131za dahil etmeniz. Baz\u0131 durumlarda (ben olduk\u00e7a s\u0131k rastl\u0131yorum) VS her uygulamay\u0131 olu\u015fturmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda veya yanl\u0131\u015fl\u0131kla SDL2 yi tekrar olu\u015ftur dedi\u011finiz b\u00fct\u00fcn kodlar\u0131 ba\u015ftan derlemeye \u00e7al\u0131\u015facak ve bu da size baya zaman kaybettirebilir. libs \u00fczerinden ekleyerek bunun \u00f6n\u00fcne ge\u00e7ebilirsiniz.<\/p>\n<p>Bu arada Visual Studio 2017 ile SDL 2.0.7 i\u00e7in haz\u0131rlanm\u0131\u015f \u00f6rnek proje ve ilgili kodlara <a href=\"https:\/\/github.com\/yazilimperver\/SDL2\">buradan <\/a>ula\u015fabilirsiniz. Ayr\u0131ca repository i\u00e7erisindeki SDL2 dizininde olu\u015fturulan k\u00fct\u00fcphaneleri verece\u011finiz dizinlere otomatik kopyalamak i\u00e7in bir script te ekledim (PrepareSDL.bat). \u0130htiyac\u0131n\u0131z olabilir \ud83d\ude42<\/p>\n<p>Kendinize iyi bak\u0131n bir sonraki yaz\u0131da g\u00f6r\u00fc\u015fmek dile\u011fiyle.<\/p>","protected":false},"excerpt":{"rendered":"<p>Evet arkada\u015flar ba\u015fl\u0131ktan da anla\u015f\u0131laca\u011f\u0131 \u00fczere bu yaz\u0131mda sizler ile SDL 2.0.7. (mevcut yay\u0131nlanm\u0131\u015f son s\u00fcr\u00fcm SDL)&#8217;i VS ile Android i\u00e7in olu\u015fturma i\u00e7in gerekli ad\u0131mlardan bahsedece\u011fim. \u00d6ncelikle bu yaz\u0131mda kulland\u0131\u011f\u0131m kodlar\u0131 ve temel alt yap\u0131y\u0131 Matt Style&#8217;s \u0131n \u015fu yaz\u0131s\u0131ndan ald\u0131\u011f\u0131m\u0131 s\u00f6ylemem gerek. Kendisi olduk\u00e7a g\u00fczel bir \u015fekilde gerekli ad\u0131mlardan k\u0131saca bahsetmi\u015f. Ben ona ek&#8230; <a class=\"more-link\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/\">Continue reading <span class=\"meta-nav\">&#8594;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":91,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[165,10,54,11],"tags":[55,13,63,56,62,58],"class_list":["post-232","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","category-c","category-mobile","category-visual-studio","tag-android","tag-c","tag-cross-platform","tag-ndk","tag-sdl","tag-visual-studio"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>VS 2017 ile C\/C++ K\u00fct\u00fcphanelerin (SDL) Android i\u00e7in Olu\u015fturulmas\u0131 - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[:tr]VS 2017 ile C\/C++ K\u00fct\u00fcphanelerin (SDL) Android i\u00e7in Olu\u015fturulmas\u0131[:en]Building 3rd party libraries (SDL) with VS 2017 for Android[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"og:description\" content=\"Evet arkada\u015flar ba\u015fl\u0131ktan da anla\u015f\u0131laca\u011f\u0131 \u00fczere bu yaz\u0131mda sizler ile SDL 2.0.7. (mevcut yay\u0131nlanm\u0131\u015f son s\u00fcr\u00fcm SDL)&#8217;i VS ile Android i\u00e7in olu\u015fturma i\u00e7in gerekli ad\u0131mlardan bahsedece\u011fim. \u00d6ncelikle bu yaz\u0131mda kulland\u0131\u011f\u0131m kodlar\u0131 ve temel alt yap\u0131y\u0131 Matt Style&#8217;s \u0131n \u015fu yaz\u0131s\u0131ndan ald\u0131\u011f\u0131m\u0131 s\u00f6ylemem gerek. Kendisi olduk\u00e7a g\u00fczel bir \u015fekilde gerekli ad\u0131mlardan k\u0131saca bahsetmi\u015f. Ben ona ek... Continue reading &#8594;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/\" \/>\n<meta property=\"og:site_name\" content=\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2018-01-06T12:54:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-09-29T12:25:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2017\/10\/indir-e1540749066190.png\" \/>\n\t<meta property=\"og:image:width\" content=\"64\" \/>\n\t<meta property=\"og:image:height\" content=\"33\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"yaz\u0131l\u0131mperver\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"yaz\u0131l\u0131mperver\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/\"},\"author\":{\"name\":\"yaz\u0131l\u0131mperver\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/30ee263812776c4abb84418d028b5ef4\"},\"headline\":\"VS 2017 ile C\/C++ K\u00fct\u00fcphanelerin (SDL) Android i\u00e7in Olu\u015fturulmas\u0131\",\"datePublished\":\"2018-01-06T12:54:22+00:00\",\"dateModified\":\"2018-09-29T12:25:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/\"},\"wordCount\":3319,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"keywords\":[\"android\",\"c++\",\"Cross Platform\",\"ndk\",\"SDL\",\"Visual Studio\"],\"articleSection\":[\"Android\",\"C++\",\"Mobile\",\"Visual Studio\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/\",\"url\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/\",\"name\":\"[:tr]VS 2017 ile C\/C++ K\u00fct\u00fcphanelerin (SDL) Android i\u00e7in Olu\u015fturulmas\u0131[:en]Building 3rd party libraries (SDL) with VS 2017 for Android[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#website\"},\"datePublished\":\"2018-01-06T12:54:22+00:00\",\"dateModified\":\"2018-09-29T12:25:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Ana sayfa\",\"item\":\"https:\/\/www.yazilimperver.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"VS 2017 ile C\/C++ K\u00fct\u00fcphanelerin (SDL) Android i\u00e7in Olu\u015fturulmas\u0131\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.yazilimperver.com\/#website\",\"url\":\"https:\/\/www.yazilimperver.com\/\",\"name\":\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"description\":\"Payla\u015fmak g\u00fczeldir.\",\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.yazilimperver.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\",\"name\":\"yaz\u0131l\u0131mperver\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png\",\"contentUrl\":\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png\",\"caption\":\"yaz\u0131l\u0131mperver\"},\"logo\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/30ee263812776c4abb84418d028b5ef4\",\"name\":\"yaz\u0131l\u0131mperver\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1fba597722a6cfbfac6eb03b348b1f5065b583004abb13322f432c3f00276b3f?s=96&d=wp_user_avatar&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1fba597722a6cfbfac6eb03b348b1f5065b583004abb13322f432c3f00276b3f?s=96&d=wp_user_avatar&r=g\",\"caption\":\"yaz\u0131l\u0131mperver\"},\"description\":\"\u00d6\u011frenmeyi ve payla\u015fmay\u0131 seven bir yaz\u0131l\u0131mperver :)\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[:tr]VS 2017 ile C\/C++ K\u00fct\u00fcphanelerin (SDL) Android i\u00e7in Olu\u015fturulmas\u0131[:en]Building 3rd party libraries (SDL) with VS 2017 for Android[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/","og_locale":"tr_TR","og_type":"article","og_title":"[:tr]VS 2017 ile C\/C++ K\u00fct\u00fcphanelerin (SDL) Android i\u00e7in Olu\u015fturulmas\u0131[:en]Building 3rd party libraries (SDL) with VS 2017 for Android[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","og_description":"Evet arkada\u015flar ba\u015fl\u0131ktan da anla\u015f\u0131laca\u011f\u0131 \u00fczere bu yaz\u0131mda sizler ile SDL 2.0.7. (mevcut yay\u0131nlanm\u0131\u015f son s\u00fcr\u00fcm SDL)&#8217;i VS ile Android i\u00e7in olu\u015fturma i\u00e7in gerekli ad\u0131mlardan bahsedece\u011fim. \u00d6ncelikle bu yaz\u0131mda kulland\u0131\u011f\u0131m kodlar\u0131 ve temel alt yap\u0131y\u0131 Matt Style&#8217;s \u0131n \u015fu yaz\u0131s\u0131ndan ald\u0131\u011f\u0131m\u0131 s\u00f6ylemem gerek. Kendisi olduk\u00e7a g\u00fczel bir \u015fekilde gerekli ad\u0131mlardan k\u0131saca bahsetmi\u015f. Ben ona ek... Continue reading &#8594;","og_url":"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/","og_site_name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","article_published_time":"2018-01-06T12:54:22+00:00","article_modified_time":"2018-09-29T12:25:57+00:00","og_image":[{"width":64,"height":33,"url":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2017\/10\/indir-e1540749066190.png","type":"image\/png"}],"author":"yaz\u0131l\u0131mperver","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"yaz\u0131l\u0131mperver","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/#article","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/"},"author":{"name":"yaz\u0131l\u0131mperver","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/30ee263812776c4abb84418d028b5ef4"},"headline":"VS 2017 ile C\/C++ K\u00fct\u00fcphanelerin (SDL) Android i\u00e7in Olu\u015fturulmas\u0131","datePublished":"2018-01-06T12:54:22+00:00","dateModified":"2018-09-29T12:25:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/"},"wordCount":3319,"commentCount":0,"publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"keywords":["android","c++","Cross Platform","ndk","SDL","Visual Studio"],"articleSection":["Android","C++","Mobile","Visual Studio"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/","url":"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/","name":"[:tr]VS 2017 ile C\/C++ K\u00fct\u00fcphanelerin (SDL) Android i\u00e7in Olu\u015fturulmas\u0131[:en]Building 3rd party libraries (SDL) with VS 2017 for Android[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/#website"},"datePublished":"2018-01-06T12:54:22+00:00","dateModified":"2018-09-29T12:25:57+00:00","breadcrumb":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/01\/06\/visual-studio-2017-ile-ucuncu-parti-cc-kutuphanelerin-sdl-android-icin-olusturulmasi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Ana sayfa","item":"https:\/\/www.yazilimperver.com\/"},{"@type":"ListItem","position":2,"name":"VS 2017 ile C\/C++ K\u00fct\u00fcphanelerin (SDL) Android i\u00e7in Olu\u015fturulmas\u0131"}]},{"@type":"WebSite","@id":"https:\/\/www.yazilimperver.com\/#website","url":"https:\/\/www.yazilimperver.com\/","name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","description":"Payla\u015fmak g\u00fczeldir.","publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.yazilimperver.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb","name":"yaz\u0131l\u0131mperver","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/","url":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png","contentUrl":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png","caption":"yaz\u0131l\u0131mperver"},"logo":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/"}},{"@type":"Person","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/30ee263812776c4abb84418d028b5ef4","name":"yaz\u0131l\u0131mperver","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1fba597722a6cfbfac6eb03b348b1f5065b583004abb13322f432c3f00276b3f?s=96&d=wp_user_avatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1fba597722a6cfbfac6eb03b348b1f5065b583004abb13322f432c3f00276b3f?s=96&d=wp_user_avatar&r=g","caption":"yaz\u0131l\u0131mperver"},"description":"\u00d6\u011frenmeyi ve payla\u015fmay\u0131 seven bir yaz\u0131l\u0131mperver :)"}]}},"_links":{"self":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/comments?post=232"}],"version-history":[{"count":9,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/232\/revisions"}],"predecessor-version":[{"id":250,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/232\/revisions\/250"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/media\/91"}],"wp:attachment":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/media?parent=232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/categories?post=232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/tags?post=232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}