<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5292719135470497420</id><updated>2024-10-05T12:05:39.712+09:00</updated><category term="TistoryOldPost"/><category term="C++"/><category term="Android"/><category term="SQLite"/><category term="C++ Builder"/><category term="Visual C++"/><category term="MFC"/><category term="OpenCV"/><category term="안드로이드"/><category term="Android Development"/><category term="Turbo C++"/><category term="안드로이드 개발"/><category term="SQLite library"/><category term="Local Database"/><category term="Subversion"/><category term="MYSQL"/><category term="svn"/><category term="SQLite Static Library"/><category term="CodeGear"/><category term="SQLite for C++ Builder"/><category term="firebird"/><category term="c#"/><category term="로컬 데이터베이스"/><category term="VCL"/><category term="Delphi"/><category term="Free Database"/><category term="TortoiseSVN"/><category term="굿모닝 팝스"/><category term="SQLite for Visual C++"/><category term="STL"/><category term="VTK"/><category term="Visual Studio"/><category term="python"/><category term="Eclipse"/><category term="MySQL Connector/C++"/><category term="무료 데이터베이스"/><category term="Version Control"/><category term="VisualSVN Server"/><category term="굿모닝 팝스 MP3"/><category term="Database"/><category term="plugin"/><category term="Visual Studio 2010"/><category term="AnkhSVN"/><category term="CSharp"/><category term="GMP"/><category term="RAD Studio 2009"/><category term="VisualSVN"/><category term="CListCtrl"/><category term="DelphiSpeedUp"/><category term="Embarcadero"/><category term="Firebird C API"/><category term="SVN Client"/><category term="UNICODE"/><category term="Win32"/><category term="syntaxhighlighter"/><category term="버전관리"/><category term="버전관리시스템"/><category term="BADA"/><category term="CTreeCtrl"/><category term="File Database"/><category term="GmpMP3"/><category term="HTML5"/><category term="IDE Fix Pack"/><category term="OpenCV 2.2"/><category term="RAD STUDIO"/><category term="SQL"/><category term="SQLite Library for C++ Builder"/><category term="SQLite Library for Visual C++"/><category term="Vector"/><category term="Visual Studio 2012"/><category term="WPF"/><category term="Windows 11"/><category term="ZXing"/><category term="barcode"/><category term="bcc32pch"/><category term="cmake"/><category term="context menu"/><category term="pencil"/><category term="굿모닝팝스"/><category term="한글"/><category term="Computer Vision"/><category term="Free RDBMS"/><category term="GDI+"/><category term="GDIPlus"/><category term="IntelliJ"/><category term="Lazarus"/><category term="MU908"/><category term="MySQL Connector C++"/><category term="MySQL++"/><category term="NotePad++"/><category term="OpenCV 2.1"/><category term="RAD Studio 2010"/><category term="Redmine"/><category term="SQLite Dll"/><category term="SQLite3"/><category term="Sublime Text 3"/><category term="SyntaxHighlighter 2.0"/><category term="TabWidget"/><category term="Windows 8"/><category term="dialog"/><category term="freeware"/><category term="windows 7"/><category term="굿모닝 팝스 MP3 다운로드"/><category term="단축키"/><category term="데이터베이스"/><category term="무료프로그램"/><category term="Android Dev"/><category term="Android Studio"/><category term="AutoIt3"/><category term="C++ Builder 2009"/><category term="CString"/><category term="Canvas"/><category term="Delphi Distiller"/><category term="DoxyGen"/><category term="Eclipse Intellisense"/><category term="Flutter"/><category term="GExperts"/><category term="Gadget"/><category term="Good Morning Pops"/><category term="Hiren&#39;s Bootcd"/><category term="IDE"/><category term="Icon Editor"/><category term="Library"/><category term="MDB"/><category term="MFC 10"/><category term="MP3"/><category term="MSDN"/><category term="MiniDic"/><category term="Open Computer Vision"/><category term="OpenCV 2.3.1"/><category term="OpenCV 3.0"/><category term="OpenGL"/><category term="OpenSource"/><category term="PDF"/><category term="Poco"/><category term="RAD Studio 2009 IDE Patch"/><category term="RDBMS"/><category term="RUBY"/><category term="ReadWatch"/><category term="RegisterHotkey"/><category term="SDK"/><category term="SHBrowseForFolder"/><category term="SQLite 64bit Dll"/><category term="SQLiteSpy"/><category term="SVN Server"/><category term="Samsung"/><category term="TabHost"/><category term="TortoiseCVS"/><category term="UnregisterHotKey"/><category term="Visual C++ 2010"/><category term="Visual C++ 8 2005"/><category term="Viz"/><category term="WINAPI"/><category term="Win32 API"/><category term="Windows 7 Taskbar"/><category term="android NDK"/><category term="boost library"/><category term="c sharp"/><category term="container"/><category term="diskpart"/><category term="emulator"/><category term="icon"/><category term="idea"/><category term="iso"/><category term="linux"/><category term="rails"/><category term="script"/><category term="std::string"/><category term="tab"/><category term="thread"/><category term="ubuntu"/><category term="굴림체"/><category term="데이터베이스 모델링"/><category term="델파이"/><category term="라자루스"/><category term="바다"/><category term="바닥"/><category term="아이콘 편집기"/><category term="유니코드"/><category term="폰트"/><category term="2d graphics"/><category term="64bit"/><category term="64비트"/><category term="ADB"/><category term="ADT"/><category term="Access"/><category term="Algorithm"/><category term="Android C/C++"/><category term="Android Emulator"/><category term="Autoit"/><category term="C++ Builder 2009 Trial"/><category term="C++ Builder 2010"/><category term="C++ Builder XE"/><category term="C/C++"/><category term="CEF"/><category term="CMenu"/><category term="CTime"/><category term="CUI"/><category term="CVS"/><category term="Client Area"/><category term="Coding font"/><category term="Connector/C++"/><category term="CryptoAPI"/><category term="Cryptography"/><category term="CygWIN"/><category term="Delphi 2009 Trial"/><category term="Delphi 2010"/><category term="Dialog Based"/><category term="Direct2D"/><category term="Encoding"/><category term="Find"/><category term="Firebird 2.5"/><category term="Firebird API"/><category term="Firefox"/><category term="Free Local Database"/><category term="Free Pascal"/><category term="GUI Mockup"/><category term="GetKeyState"/><category term="Global Hotkey"/><category term="GlobalAddAtom"/><category term="GmpMP3 v2"/><category term="Google Chart"/><category term="Google Code"/><category term="Hotkey"/><category term="ICU"/><category term="Linear Algebra"/><category term="MSDN Magazine"/><category term="Matrix"/><category term="ModelRight 3 Community Edition"/><category term="MultiByteToWideChar"/><category term="MySQL Connector/C++ Library"/><category term="MySQL Library"/><category term="NSIS"/><category term="OpenCV 2.3"/><category term="OpenCV 3.1"/><category term="OpenCV DLL"/><category term="OpenCV Library"/><category term="OpenSSL"/><category term="Options Menu"/><category term="Python 3.4"/><category term="QueryPerformanceCounter"/><category term="RAD Studio 2007"/><category term="RAD Studio IDE"/><category term="Resource"/><category term="SQLite Compile"/><category term="SQLite GUI"/><category term="SQLite database"/><category term="Seed"/><category term="Service"/><category term="Service Pack 1"/><category term="SetLayeredWindowAttributes"/><category term="ShellAPI"/><category term="Show"/><category term="StreamReader"/><category term="SubVersion Server"/><category term="Sublime text"/><category term="TXMLDocument"/><category term="TabActivity"/><category term="TidHTTP"/><category term="Tokenizing"/><category term="TortoiseOverlay"/><category term="Transaction"/><category term="URLDownloadToFile"/><category term="Update 3"/><category term="VISTA"/><category term="VTK 9.0"/><category term="Version"/><category term="Vision"/><category term="Visual Studio 2005"/><category term="Visual Studio 2010 RC"/><category term="Visual Studio 2015"/><category term="Visual Studio 2019"/><category term="Visual Studio IDE Plug-in"/><category term="VisualStudio"/><category term="Win32API"/><category term="Windows 10"/><category term="Windows 8 Developer Preview"/><category term="Windows 8.1"/><category term="XML"/><category term="Zint"/><category term="_splitpath"/><category term="apache"/><category term="apk"/><category term="array"/><category term="chrome"/><category term="clipboard"/><category term="cvsnt"/><category term="fixed width font"/><category term="google"/><category term="google reader"/><category term="hangul"/><category term="implib"/><category term="intellisense"/><category term="launchy"/><category term="log"/><category term="map"/><category term="memory leak"/><category term="mongrel"/><category term="mp3player"/><category term="opencv_viz"/><category term="opencv_world"/><category term="path"/><category term="php"/><category term="pip"/><category term="polygon"/><category term="qrcode"/><category term="remove"/><category term="replace"/><category term="ruby on rails"/><category term="stream"/><category term="wofstream"/><category term="wxPython"/><category term="zxing cpp"/><category term="개발서적"/><category term="개발툴"/><category term="검색사이트"/><category term="고정폭 폰트"/><category term="구글툴바"/><category term="굿모닝팝스 RSS"/><category term="레지스트리"/><category term="메뉴"/><category term="무료데이터베이스"/><category term="문법 강조"/><category term="사전"/><category term="삽질"/><category term="수학"/><category term="스크립트 링크"/><category term="시간측정"/><category term="시스템 색상"/><category term="안드로이드 옵션 메뉴"/><category term="암호화"/><category term="우분투"/><category term="음력양력 변환"/><category term="쿠팡"/><category term="크롬 확장"/><category term="클립보드"/><category term="테스크바 버튼"/><category term="파이썬"/><category term="폰트 연결"/><category term="프로그래밍"/><category term="화면 회전"/><category term="#error directive"/><category term="#ifndef"/><category term="#pragma"/><category term="#pragma comment"/><category term="#pragma link"/><category term="#pragma once"/><category term="%I64d"/><category term=".Net Framworks 4"/><category term=".net"/><category term="1.#IND00"/><category term="1.#INF00"/><category term="2.1"/><category term="2012"/><category term="22000.51"/><category term="22000.65"/><category term="24bit Image"/><category term="2D Drawing"/><category term="2차원동적배열"/><category term="2차원배열"/><category term="32768"/><category term="32K"/><category term="32bit"/><category term="3D"/><category term="3D Visualization"/><category term="4.1"/><category term="7z"/><category term="7zip"/><category term="9.4"/><category term="9Down.com"/><category term="ACE"/><category term="ACL"/><category term="ADT 0.9.6"/><category term="ADT for Eclipse"/><category term="AHCI"/><category term="AIMP2"/><category term="API"/><category term="API Level"/><category term="ARIA"/><category term="ASCII"/><category term="AVI"/><category term="AVIConverter"/><category term="About..."/><category term="Access Password"/><category term="Acid"/><category term="Active Password Changer"/><category term="Activity 전환"/><category term="Activity 추가"/><category term="Adobe Font"/><category term="Affected Row Count"/><category term="AfxExtractSubString"/><category term="AfxFormatString1"/><category term="AfxFormatString2"/><category term="AlertDialog"/><category term="AlphaBlend"/><category term="Andale Mono"/><category term="Andale Mono 9pt"/><category term="Android 2.2"/><category term="Android 2.3 on PC"/><category term="Android Database"/><category term="Android Debug Bridge"/><category term="Android Development Tools"/><category term="Android Devlopment"/><category term="Android Froyo"/><category term="Android Graphics"/><category term="Android License"/><category term="Android OS"/><category term="Android Options Menu"/><category term="Android SDK"/><category term="Android SDK Tools"/><category term="Android SQLite"/><category term="Android SVN"/><category term="Android Sample"/><category term="Android Screen"/><category term="Android Support"/><category term="Android UI"/><category term="Android on VirtualBox"/><category term="Andy"/><category term="Animation Cursor"/><category term="Apache SubVersion"/><category term="Application Restore"/><category term="Application minimize"/><category term="Area of Polygon"/><category term="Ark"/><category term="Armadillo"/><category term="Armadillro"/><category term="Asset Studio"/><category term="Audio"/><category term="AutoSize"/><category term="BandiZip"/><category term="Barcode Library"/><category term="Best 도서"/><category term="Bitmap Rotation"/><category term="Bom"/><category term="Boost 1.36"/><category term="BoostPro"/><category term="BoostPro Free"/><category term="BootCD"/><category term="Bug"/><category term="BugTracker"/><category term="Build"/><category term="Building System"/><category term="C++ Builder 2007"/><category term="C++ Builder 2009 Bug"/><category term="C++ Builder library"/><category term="C++ IDE"/><category term="C++ Programming"/><category term="C++0x"/><category term="CDT"/><category term="CDialog"/><category term="CDialogBar"/><category term="CDialogEx"/><category term="CEdit"/><category term="CFileDialog"/><category term="CFileDialog 여러개 파일 선택"/><category term="CFormView"/><category term="CHM 보안설정"/><category term="CHeaderCtrl"/><category term="CImageList"/><category term="COMMA"/><category term="CPU Core"/><category term="CP_UTF8"/><category term="CRC32"/><category term="CRT Function"/><category term="CStatic"/><category term="CStatusBar text"/><category term="CStdioFile"/><category term="CStdioFile::WriteString"/><category term="CTimeSpan"/><category term="CVSNT 설정"/><category term="CVSNT 설치"/><category term="Caption Bar Dragging"/><category term="Carriage Return"/><category term="Centroid of Polygon"/><category term="CheckMenuItem"/><category term="Chrome Extenstion"/><category term="Chromium Embedded Framework"/><category term="Class read only"/><category term="ClassName"/><category term="Code::Blocks"/><category term="Collection"/><category term="Color"/><category term="Color Picker"/><category term="Color Theme"/><category term="Column"/><category term="Command Line Parameter"/><category term="Command line"/><category term="CommandLineToArgv"/><category term="Community"/><category term="Community Edition"/><category term="Compare"/><category term="Configuration"/><category term="Connection String"/><category term="Consolas"/><category term="Context Menu Extent"/><category term="ContextSwitchDeadlock"/><category term="ConvertToUTF8"/><category term="CppUnit"/><category term="CreateProcess"/><category term="Custom Dialog"/><category term="Custom TabWidget"/><category term="CvPoint2D32f"/><category term="CvvImage"/><category term="D2Coding"/><category term="DAO"/><category term="DBMS"/><category term="DOS"/><category term="Database Access"/><category term="Database Modeling"/><category term="Date"/><category term="DatePickerDialog"/><category term="Debug"/><category term="Debug Certificate expired"/><category term="Debug expired"/><category term="Debugging"/><category term="DeleteFile"/><category term="Delphi 2007"/><category term="Delphi 2008"/><category term="Delphi 2009"/><category term="Delphi 2009 Bug"/><category term="Delphi Speed Up"/><category term="Delphi Tweak"/><category term="Delphi v14.0.3391.20582"/><category term="Delphi64"/><category term="DelphiDistiller"/><category term="Deprecated Function"/><category term="Design"/><category term="Dgree"/><category term="Dialog Box"/><category term="Dilation"/><category term="Disk Clone"/><category term="DockPanel"/><category term="Document/View Architecture"/><category term="Drag &amp; Drop"/><category term="Drag&amp;Drop"/><category term="DragOver"/><category term="Drive letter"/><category term="Drop File"/><category term="Dynamic Tab"/><category term="EFI System Partition"/><category term="Eclipse 3.6"/><category term="Eclipse Classic"/><category term="Eclipse Helios"/><category term="Eclipse SVN"/><category term="Eclipse 자동완성"/><category term="Edit Control"/><category term="EditPlus"/><category term="Electron"/><category term="Embacadero"/><category term="End"/><category term="English"/><category term="Enter"/><category term="EnumDisplayMonitors"/><category term="Erase"/><category term="Erosion"/><category term="Event Handling"/><category term="Example code"/><category term="Exec Lua"/><category term="Export Application"/><category term="Express Blend"/><category term="FPC"/><category term="FREE"/><category term="FbConnectionStringBuilder"/><category term="Feature pack"/><category term="File Exits Check"/><category term="File Explorer"/><category term="File Object"/><category term="FileMenu Tools"/><category term="Filer Explorer"/><category term="Find and Replace"/><category term="FindText"/><category term="Firebird .Net Provider"/><category term="Firebird 2 Cheat Sheet"/><category term="Firebird 2.5.1"/><category term="Firebird Embedded"/><category term="Firebird GUI"/><category term="Firebird Install"/><category term="Firebird Service"/><category term="Firebird Timestamp"/><category term="Flex3"/><category term="FlexBuilder"/><category term="Float Validation"/><category term="Font Themer"/><category term="FontLink"/><category term="Form Dragging"/><category term="Form Move"/><category term="Form Programing"/><category term="Foxit Reader"/><category term="FrameLayout"/><category term="Frebird 설치"/><category term="Free Database Libary"/><category term="Free Editor"/><category term="Free IDE"/><category term="Froyo"/><category term="Froyo SDK"/><category term="GAME"/><category term="GExperts 1.35"/><category term="GPU"/><category term="GWL_STYLE"/><category term="Galilero"/><category term="Gantt chart"/><category term="GeN"/><category term="GetAsyncKeyState"/><category term="GetCommandLine"/><category term="GetFileVersionInfo"/><category term="GetItemData"/><category term="GetMessageString"/><category term="GetModuleFileName"/><category term="GetSysColor"/><category term="GetSysColorBrush"/><category term="GetVersion"/><category term="GetWindowLong"/><category term="GetWindowThreadProcessId"/><category term="Ghost"/><category term="GoodMorning Pops"/><category term="Google Code Hosting"/><category term="Google Reader Plus"/><category term="Google Reader Plus for Firefox"/><category term="Gradient"/><category term="Grant"/><category term="Greenfish"/><category term="Gulim"/><category term="HTCAPTION"/><category term="Hash"/><category term="HashTab"/><category term="Hello Android"/><category term="Hello AutoIt3"/><category term="Hello VIZ"/><category term="Hello World"/><category term="HelloWorld"/><category term="Hiren&#39;s BootCD 9.4"/><category term="History"/><category term="I64"/><category term="IBExpert"/><category term="IBindStatusCallback"/><category term="ICO"/><category term="ICS"/><category term="ICU4C"/><category term="ISO 편집"/><category term="Ice Cream Sandwich"/><category term="Image Library"/><category term="In-memory Debug"/><category term="Indy"/><category term="Indy 10"/><category term="InnoSetup"/><category term="Inside C Sharp"/><category term="Inside C#"/><category term="Inside C# 2nd"/><category term="Inside Preview"/><category term="Insider Preview"/><category term="Intel HAXM"/><category term="Intel TBB"/><category term="Internal error"/><category term="Item Space"/><category term="Java IDE"/><category term="Jellybean"/><category term="Juno"/><category term="KB971090"/><category term="Kotlin"/><category term="LVN_ITEMCHANGED"/><category term="LVSCW_AUTOSIZE"/><category term="Landspace"/><category term="LayeredWindow"/><category term="Lazarus IDE"/><category term="Least Square"/><category term="Less MSIerables"/><category term="Library link"/><category term="Limit"/><category term="Line"/><category term="Link32 error"/><category term="Little Edian"/><category term="LoadCursor"/><category term="Local Database Libary"/><category term="Lua"/><category term="MBCS"/><category term="MDB Password"/><category term="MDI"/><category term="MFC 9.0"/><category term="MFC Class"/><category term="MFC8"/><category term="MP3 플레이어"/><category term="MS Access"/><category term="MS Build"/><category term="MS CryptoAPI"/><category term="MSI"/><category term="MTL"/><category term="Mac Icon"/><category term="MainFormOnTaskBar"/><category term="Manifest"/><category term="Memory"/><category term="Memory 최적화"/><category term="Menu"/><category term="Menu 존재여부"/><category term="Merge Tracking"/><category term="Message Handler"/><category term="Message Queueing"/><category term="MessageBoxTimeout"/><category term="Method"/><category term="Metro"/><category term="Metro Style"/><category term="Microsoft"/><category term="Mobile"/><category term="ModelRight 3"/><category term="Modeling"/><category term="Mono Font"/><category term="Morphology"/><category term="Mouse Notify"/><category term="MouseEnter"/><category term="MouseLeave"/><category term="Move Window"/><category term="Multi Monitor"/><category term="Multiboot CD"/><category term="MySQL Connector/C++ 컴파일 하기"/><category term="MySQL Library for Visual Studio 2005"/><category term="MySQL Workbench"/><category term="MySQL 모델링"/><category term="NDK 개발환경"/><category term="NO_WIN32_LEAN_AND_MEAN"/><category term="Native Viewer"/><category term="NativeViewer"/><category term="Nero Burning ROM"/><category term="Nero Lite"/><category term="Nero Micro"/><category term="Network Library"/><category term="New Line"/><category term="No symbols Error"/><category term="Node"/><category term="NotePad"/><category term="Notepad2"/><category term="Numpy"/><category term="OFN_ALLOWMULTISELECT"/><category term="ON_COMMAND_RANGE"/><category term="ON_CONTROL_RANGE"/><category term="ON_UPDATE_COMMAND_UI_RANGE"/><category term="OS Platform"/><category term="OS Version"/><category term="OnSysCommand"/><category term="OnTabChangeListener"/><category term="Open Computer Vision Library"/><category term="Open Library"/><category term="Open Source"/><category term="Open Source Database"/><category term="OpenCL"/><category term="OpenCV 2.3 Superpack"/><category term="OpenCV 2.4.5"/><category term="OpenCV 3.3.0"/><category term="OpenCV Compile"/><category term="OpenCV Libary"/><category term="OpenCV Matrix"/><category term="OpenCV Memory Leak"/><category term="OpenCV VS2005"/><category term="OpenGL2"/><category term="OpenMP"/><category term="Outlook"/><category term="PDF Export"/><category term="PDF 한글"/><category term="PE"/><category term="PSPad"/><category term="Package Control"/><category term="Partition Clone"/><category term="Path Class"/><category term="Path Function"/><category term="Plane Fitting"/><category term="Poco 1.9.0"/><category term="Precompiled Header"/><category term="Predefined Macros"/><category term="ProcessID"/><category term="Prof-UIS"/><category term="Programer&#39;s font"/><category term="Programming"/><category term="Programming font"/><category term="Progress"/><category term="Progress Bar"/><category term="ProgressDialog"/><category term="Project Management"/><category term="Project Share"/><category term="Prompt String"/><category term="PtInPoly"/><category term="Py_Initialize"/><category term="Python Sell"/><category term="QueryPerformanceFrequency"/><category term="Quick Access"/><category term="R.java"/><category term="RAD Studio IDE Fix Pack"/><category term="RAD Studio Tweak"/><category term="ROR"/><category term="RSS"/><category term="RSS Feed"/><category term="Radian"/><category term="Read Watch"/><category term="Registry Merge"/><category term="Regular Expression"/><category term="Relo"/><category term="Revision Graph"/><category term="Rotate"/><category term="Rstudio"/><category term="Ruby on XP"/><category term="Run Lua"/><category term="SAMBA"/><category term="SDI"/><category term="SDK 2.1"/><category term="SDK Sample"/><category term="SEQUENCE"/><category term="SHDeleteKey"/><category term="SQLite 3"/><category term="SQLite 3 Library"/><category term="SQLite 3.7.4"/><category term="SQLite 3.7.5"/><category term="SQLite 64비트 Dll"/><category term="SQLite Admin"/><category term="SQLite Adminitrator"/><category term="SQLite Backup"/><category term="SQLite Create Function"/><category term="SQLite Library for CB"/><category term="SQLite Library for VC"/><category term="SQLite MemoryDB"/><category term="SQLite Spy"/><category term="SQLite Tools"/><category term="SQLite User Function"/><category term="SQLite for .Net"/><category term="SQLite for C++Builder"/><category term="SQLite x64"/><category term="SQLite.Net"/><category term="SQLite3 Library"/><category term="SQLite3 Static Library"/><category term="SSH"/><category term="SS_NOTIFY"/><category term="SVN 1.7"/><category term="SVN Error"/><category term="SVN 호스팅"/><category term="SW GUI"/><category term="SW Mockup"/><category term="SW 디자인"/><category term="SW_MINIMIZE"/><category term="Safety Function"/><category term="Sandbox"/><category term="SciTE Configuration"/><category term="SciTE Font"/><category term="SciTE Properties"/><category term="SciTe"/><category term="SciTe4AutoIt3"/><category term="Scipy"/><category term="Screen Capture"/><category term="Screen Rotation"/><category term="Screen Status"/><category term="ScrollView"/><category term="SdCard"/><category term="SearchTheSame"/><category term="Second Edition"/><category term="Secure Boot"/><category term="SetClassLong"/><category term="SetCursor"/><category term="SetItemData"/><category term="Settings"/><category term="Setup Package"/><category term="Shell API"/><category term="Shell Command"/><category term="Shell Function"/><category term="Shift + Space"/><category term="Shortcut"/><category term="ShowWindow"/><category term="Simple Database"/><category term="SizeToContent"/><category term="Son of Obsidian"/><category term="Source Code"/><category term="Source Code Por"/><category term="Standard Template Library"/><category term="StarUML"/><category term="Starter"/><category term="Static library"/><category term="StatusBar"/><category term="StopWatch"/><category term="String"/><category term="Structuring element"/><category term="Sublime"/><category term="Sublime font"/><category term="Sublime 한글"/><category term="SublimeText"/><category term="Super Full Feeds"/><category term="Support XP"/><category term="System"/><category term="System Font"/><category term="System Tools"/><category term="System.Data.SQLite"/><category term="System.IO.Path"/><category term="SystemLink"/><category term="SystemMenu"/><category term="TApplication"/><category term="TBB"/><category term="TCppWebBrowser"/><category term="TEdit"/><category term="TImage"/><category term="TImageList"/><category term="TPM 2.0"/><category term="TSpeedButton"/><category term="TTN_NEEDTEXT"/><category term="TTN_NEEDTEXTA"/><category term="TTN_NEEDTEXTW"/><category term="TWICImage"/><category term="Tag Property"/><category term="Tahoma"/><category term="Tahoma 보이게 하기"/><category term="Taskbar Button"/><category term="Taskbar Progress"/><category term="Tcl"/><category term="Temporary directory"/><category term="Teskbar Button"/><category term="Text Editor"/><category term="Text File Tools"/><category term="TextCrawler"/><category term="TextFile"/><category term="Textbook"/><category term="The Tao Of Programming"/><category term="Thread.sleep"/><category term="Threading Building Blocks"/><category term="TimePickerDialog"/><category term="Tiny Windows Borders"/><category term="Tistory"/><category term="Toad Data Modeler"/><category term="Toast"/><category term="Toast Message"/><category term="TortoiseSVN Log Font"/><category term="Touch"/><category term="Touch Event"/><category term="TrackMouseEvent"/><category term="TransparentBlt"/><category term="Tray"/><category term="TrayTopper"/><category term="Turbo C++ Explorer"/><category term="UAC"/><category term="UML"/><category term="USES_CONVERSION"/><category term="UTF8"/><category term="Ubuntu 10.04"/><category term="Ubuntu 13.10"/><category term="Ubuntu LTS"/><category term="Unicode Project"/><category term="Update3"/><category term="UpdateCommandUI Handler"/><category term="UpdateUI Handler"/><category term="User Guide"/><category term="User32.dll"/><category term="VC++ 2005"/><category term="VC110"/><category term="VC2005"/><category term="VC2008 Feature Pack"/><category term="VK_CAPITAL"/><category term="VK_NUMLOCK"/><category term="VK_SCROLL"/><category term="VS2005 SP1 통합"/><category term="VS2010 SP1"/><category term="VS2012"/><category term="VSCode"/><category term="VTK 7.0"/><category term="VTK 9.1"/><category term="VTK Textbook"/><category term="VTK Tutorial"/><category term="VTK User Guide 11th"/><category term="VTK_MODULE_INIT"/><category term="Ver"/><category term="VerQueryValue"/><category term="VerifyVersionInfo"/><category term="View"/><category term="Virtual Box"/><category term="Virtual Device"/><category term="Virtual Keycode"/><category term="Vision Library"/><category term="Vista GDIPlus"/><category term="Vista Icon"/><category term="Visual C++ 2008"/><category term="Visual C++ 9 2008"/><category term="Visual C++ Redistributable"/><category term="Visual C++ Redistributable for Visual Studio 2015"/><category term="Visual C++ Sample"/><category term="Visual Component Library"/><category term="Visual Studio 2005 SP1"/><category term="Visual Studio 2010 RC Download"/><category term="Visual Studio 2010 SP1"/><category term="Visual Studio 2010 정식"/><category term="Visual Studio Code"/><category term="Visual Studio Color Schema"/><category term="Visual Studio Community 2015"/><category term="Visual Studio Extension"/><category term="Visual Studio IDE Plugins"/><category term="Visual Studio Plugins"/><category term="Visual Studio Shortcut"/><category term="Visualization"/><category term="WIC"/><category term="WIN32 API &amp; MFC"/><category term="WM_ENDSESSION"/><category term="WM_GETMINMAXINFO"/><category term="WM_HOTKEY"/><category term="WM_MOUSEHOVER"/><category term="WM_MOUSELEAVE"/><category term="WM_NCLBUTTONDOWN"/><category term="WM_QUERYENDSESSION"/><category term="WS_HSCROLL"/><category term="WTL"/><category term="Watch"/><category term="Weaver RAD Studio"/><category term="Web Dictionary"/><category term="WideCharToMultiByte"/><category term="Window Handle"/><category term="Window Template Library"/><category term="Windows 10 Preview"/><category term="Windows 7 x64"/><category term="Windows 8 Desktop"/><category term="Windows Border"/><category term="Windows Credential"/><category term="Windows Gadget"/><category term="Windows Mobile"/><category term="Windows Phone 7"/><category term="Windows Phone Developer Tools CTP"/><category term="Windows Server 2008"/><category term="Windows boot manager"/><category term="Windows sidebar"/><category term="Write in C"/><category term="XAML"/><category term="XAMPP"/><category term="XHTML"/><category term="XP Compatable"/><category term="XP Support"/><category term="XP 지원 모드"/><category term="XP 호환"/><category term="XP암호초기화"/><category term="XmlDocument"/><category term="ZXing-cpp"/><category term="_MFC_VER"/><category term="_MSC_VER"/><category term="_WIN32_WINNT"/><category term="__FUNCDNAME__"/><category term="__FUNCSIG__"/><category term="__function__"/><category term="_access"/><category term="_popen"/><category term="_stricmp"/><category term="accelerator"/><category term="activity"/><category term="adsense"/><category term="adware"/><category term="alz"/><category term="android 4.0"/><category term="android game"/><category term="android menu"/><category term="android-sdk"/><category term="android-studio-dir"/><category term="apk install"/><category term="arc"/><category term="asciidoc"/><category term="asciidoctor"/><category term="asciidoctor-pdf"/><category term="asterisk"/><category term="at"/><category term="auto_ptr"/><category term="badak"/><category term="badak preset"/><category term="bcc 5.5"/><category term="bcdboot"/><category term="bcdedit"/><category term="beta"/><category term="bitnami"/><category term="bitset"/><category term="boost"/><category term="byte order mark"/><category term="c"/><category term="capture"/><category term="chart"/><category term="checkbox"/><category term="clone"/><category term="code 128"/><category term="coff"/><category term="color scheme"/><category term="config"/><category term="connection"/><category term="console"/><category term="copy"/><category term="core"/><category term="css"/><category term="cursor"/><category term="cv::Mat"/><category term="cvFindContours"/><category term="cvFitLine"/><category term="cvGetSeqElem"/><category term="ddms"/><category term="debug.keystore"/><category term="delay"/><category term="development Tool"/><category term="directory"/><category term="download"/><category term="drag and drop"/><category term="draw"/><category term="drawPosText"/><category term="dumpbin"/><category term="eclipse cdt"/><category term="eclox"/><category term="editor"/><category term="egg"/><category term="email"/><category term="error"/><category term="exception"/><category term="export"/><category term="file"/><category term="file extention"/><category term="firebird database location"/><category term="firefox3"/><category term="firefox3 beta4"/><category term="fix project properties"/><category term="flash game"/><category term="font"/><category term="font space"/><category term="fopen"/><category term="format"/><category term="format string"/><category term="free SVN"/><category term="free svn hosting"/><category term="fstream"/><category term="function pointer"/><category term="gantt"/><category term="gcc"/><category term="gdiplus.dll"/><category term="gen error"/><category term="get_time"/><category term="google toolbar"/><category term="halcon"/><category term="have_innodb"/><category term="header"/><category term="hook"/><category term="idle"/><category term="imbue"/><category term="indeterminate"/><category term="infinite"/><category term="innodb"/><category term="isc_dsql_sql_info"/><category term="isc_info_sql_records"/><category term="isql"/><category term="jwshiftspacekey"/><category term="kitware"/><category term="lambda"/><category term="libcef_dll_warpper.dll"/><category term="libcef_dll_wrapper.dll"/><category term="libra"/><category term="load balancing"/><category term="locale"/><category term="login"/><category term="macro"/><category term="md5"/><category term="mencoder"/><category term="mobile platform"/><category term="monospaced font"/><category term="multimedia"/><category term="mysql install"/><category term="nProtect"/><category term="nan"/><category term="null safety"/><category term="ontouchevent"/><category term="opencv_contrib"/><category term="partition"/><category term="phoenix"/><category term="phpinfo"/><category term="platform"/><category term="png"/><category term="popup menu"/><category term="pre-commit hook"/><category term="prepareStatement"/><category term="prepared statement"/><category term="privacy"/><category term="process explorer"/><category term="process monitoring"/><category term="push command"/><category term="pycharm"/><category term="python 3.5"/><category term="pywin32"/><category term="query"/><category term="rand"/><category term="random number"/><category term="rbegin"/><category term="reader"/><category term="recursive"/><category term="regedit"/><category term="registry"/><category term="release"/><category term="reopen"/><category term="resource file"/><category term="runnable"/><category term="sample"/><category term="sayradio"/><category term="schema"/><category term="scrollbar"/><category term="sd card"/><category term="search"/><category term="security"/><category term="sha-1"/><category term="shutdown"/><category term="side-by-side"/><category term="split"/><category term="sprintf"/><category term="sqlyog"/><category term="srand"/><category term="ssh server"/><category term="std::out_of_range"/><category term="std::tranform"/><category term="strcmp"/><category term="strtok"/><category term="struct"/><category term="subversion client"/><category term="swf"/><category term="swf player"/><category term="taskbar"/><category term="tbitmap"/><category term="terminal"/><category term="time_t"/><category term="title"/><category term="tutorial"/><category term="unable to start program"/><category term="undelete"/><category term="unknown encoding"/><category term="variables"/><category term="vcomp110.dll"/><category term="vcomp110d.dll"/><category term="vfw"/><category term="video tag"/><category term="vtkAutoInit"/><category term="vtkGUISupportMFC"/><category term="vtkMFCWindow"/><category term="wamp"/><category term="widget"/><category term="win64"/><category term="window"/><category term="wxWidgets"/><category term="x-windows-949"/><category term="x64"/><category term="xcopy"/><category term="xenotactic"/><category term="xp"/><category term="가로줄"/><category term="개발"/><category term="개발 서적"/><category term="개발자용 굴림체"/><category term="거리 공식"/><category term="검색사이트 플러그인"/><category term="경로 API"/><category term="계정 감추기"/><category term="고정밀 시간 측정"/><category term="공식"/><category term="공익근무요원"/><category term="관리자 암호"/><category term="관리자권한"/><category term="관리자암호"/><category term="광고 프로그램"/><category term="구글 애드센스"/><category term="구조체 메모리 영역"/><category term="구조체 크기"/><category term="굿모닝 팝스 재생기"/><category term="굿모닝팝스 MP3 재생기"/><category term="굿모닝팝스 재생기"/><category term="권한설정"/><category term="나눔 고딕"/><category term="나눔고딕 코딩폰트"/><category term="나눔고딕코딩"/><category term="난수"/><category term="날짜 선택"/><category term="날짜변환"/><category term="네트워크 암호 관리"/><category term="다각형"/><category term="다각형의 면적"/><category term="다각형의 무게중심"/><category term="다운로드"/><category term="단위"/><category term="대소문자변환"/><category term="대화상자"/><category term="대화상자 Script Error"/><category term="대화상자 스크립트 에러"/><category term="델파이 2008"/><category term="델파이64"/><category term="도메인"/><category term="도형"/><category term="동영상변환"/><category term="동영상정보"/><category term="동적배열"/><category term="드래그 앤 드롭"/><category term="디자인"/><category term="라눅스"/><category term="라이센스"/><category term="람다"/><category term="런쳐"/><category term="런쳐 프로그램"/><category term="레지스트리 병합"/><category term="로그"/><category term="로컬 데이타베이스"/><category term="로컬데이터베이스"/><category term="루비"/><category term="리눅스"/><category term="리스트"/><category term="리스트 배경색"/><category term="마우스이벤트"/><category term="마우스이벤트무시"/><category term="마우스커서"/><category term="만단위"/><category term="만세력"/><category term="멀티모니터 해상도"/><category term="메뉴추가"/><category term="메세지박스"/><category term="멤버함수"/><category term="면적공식"/><category term="면적구하기"/><category term="명령행 인자 분석"/><category term="명령행 인터페이스"/><category term="모니터 출력 영역"/><category term="모니터 해상도"/><category term="모료 SVN 서버"/><category term="모류 로컬 데이터베이스"/><category term="모바일"/><category term="모바일 플랫폼"/><category term="무게중심 공식"/><category term="무게중심 구하기"/><category term="무료"/><category term="무료 SVN"/><category term="무료 로컬 데이터베이스"/><category term="무료 압축프로그램"/><category term="무료 편집기"/><category term="무료 프로그램"/><category term="무한도전"/><category term="문자를 날짜로"/><category term="문자변환"/><category term="문자열비교"/><category term="바닥설정"/><category term="바로가기"/><category term="반디집"/><category term="반투명윈도우"/><category term="방정식 해"/><category term="배포"/><category term="버전"/><category term="버추얼 박스"/><category term="번역문서"/><category term="보안 업데이트"/><category term="복구프로그램"/><category term="부수입"/><category term="블럭암호알고리즘"/><category term="블로그이사"/><category term="블로그이전"/><category term="비스타"/><category term="비트맵폰트"/><category term="빌더"/><category term="빵집"/><category term="빵집4"/><category term="사랑밭 새벽편지"/><category term="사용자 검색 사이트 추가"/><category term="삼성"/><category term="상태바"/><category term="서브버전"/><category term="서비스"/><category term="설계"/><category term="설문조사"/><category term="설치파일 압축 해제"/><category term="세벌식"/><category term="소스 문법 강조"/><category term="숫자"/><category term="스마트폰 플랫폼"/><category term="스크롤바"/><category term="스크립트"/><category term="시각 선택"/><category term="시계읽기"/><category term="시스템 메뉴"/><category term="시스템 정보"/><category term="시스템메뉴"/><category term="시작프로그램"/><category term="실행파일 경로"/><category term="실행파일 크기"/><category term="아내에게"/><category term="아내에게 쓰는 편지"/><category term="아웃룩"/><category term="아이뮤즈"/><category term="아이콘"/><category term="아이콘 편집"/><category term="안드로이드 NDK"/><category term="안드로이드 개발 서적"/><category term="안드로이드 데이터베이스"/><category term="안드로이드 메뉴"/><category term="안혜경"/><category term="암호"/><category term="암호 복잡성 만족"/><category term="암호 설정"/><category term="암호 초기화"/><category term="암호변경"/><category term="압축"/><category term="애드웨어"/><category term="양병규"/><category term="에러"/><category term="에뮬레이터"/><category term="엑세스파일 암호"/><category term="엠바케데로"/><category term="영문 OS"/><category term="영문 폰트"/><category term="예제코드"/><category term="옵션 메뉴"/><category term="웹사전"/><category term="윈도우 7 테스크바 아이콘"/><category term="윈도우 모양"/><category term="윈도우 서버"/><category term="윈도우 자격증명"/><category term="윈도우이동"/><category term="음력양력"/><category term="음악"/><category term="음악플레이어"/><category term="이미지"/><category term="이미지 투명처리"/><category term="입문서"/><category term="자신의 경로"/><category term="작업표시줄"/><category term="작업표시줄 고정"/><category term="재귀호출"/><category term="재배포 가능 패키지"/><category term="정확한 시간 측정"/><category term="제목"/><category term="젤리빈"/><category term="중복실행방지"/><category term="지운파일복구"/><category term="직선과 점의 거리"/><category term="진짜만세력"/><category term="찐쌀"/><category term="창 크기 고정"/><category term="찾기&amp;바꾸기"/><category term="책"/><category term="최상위 프로그램"/><category term="캡션바"/><category term="커서바꾸기"/><category term="코딩 폰트"/><category term="코딩용 폰트"/><category term="키보드 상태 알아내기"/><category term="키보드상태"/><category term="키입력다운"/><category term="타이틀바"/><category term="터미널"/><category term="투명윈도우"/><category term="투명이미지"/><category term="툴바"/><category term="트랙잭션"/><category term="트리"/><category term="티스토리"/><category term="티스토리 버그"/><category term="파이어폭스 3 베타 4"/><category term="파일 존재 확인"/><category term="파일버전"/><category term="팝업메뉴"/><category term="편집기"/><category term="평면 방정식"/><category term="폰트자간"/><category term="폴더 선택"/><category term="폼 이동"/><category term="폼프로그래밍"/><category term="프로그래머를 위한 폰트"/><category term="프로그래머용 폰트"/><category term="프로그래밍의 도(道)"/><category term="프로그램 감추기"/><category term="프로그램 런쳐"/><category term="프린터"/><category term="프린터 서비스"/><category term="프린터 스풀러"/><category term="플래시플레이어"/><category term="플랫폼"/><category term="하하"/><category term="한국정보보호진흥원"/><category term="한글 Log"/><category term="한글 깨짐 문제"/><category term="한글전환"/><category term="한영전화"/><category term="한영키"/><category term="할콘"/><category term="헤더 중복 방지"/><category term="화면 갈무리"/><category term="화면 상태"/><category term="화면 저장"/><category term="화면 해상도"/><category term="화면보호기"/><category term="확장기능"/><category term="확장자 검색"/><category term="회전"/><category term="회전공식"/><title type='text'>Being a Developer</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>795</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-9119201730543578869</id><published>2023-09-03T14:16:00.001+09:00</published><updated>2023-09-03T14:16:13.106+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="asciidoc"/><category scheme="http://www.blogger.com/atom/ns#" term="asciidoctor"/><category scheme="http://www.blogger.com/atom/ns#" term="asciidoctor-pdf"/><category scheme="http://www.blogger.com/atom/ns#" term="hangul"/><category scheme="http://www.blogger.com/atom/ns#" term="PDF"/><category scheme="http://www.blogger.com/atom/ns#" term="한글"/><title type='text'>Asciidoctor-pdf 한글 적용하기</title><content type='html'>&lt;p&gt;&amp;nbsp;개발 문서를 Asciidoctor를 사용해보고자 알아보던 중 Asciidoctor 문서를 PDF로 생성할 경우 한글 출력에 문제가 있음이 확인되었다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOwJYwb7oHzFp3GjhmuwgnSIkF-Rjw3Wp6JcLrXzFozXg9-jh-OYfCQxWqGXIOmFjYI8_H7irI79ajz_99nNfWzk37RTCIEvFVAAiQem5_fUtyoYFfnpH4jdDn_3jeXatBg7FOibKyqCUigziVaIVQyfo6CNkNR8llWSxjYstmecPaYsFp-r4_SpW1s0w/s536/asciidoc_pdf_hangul.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;536&quot; data-original-width=&quot;508&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOwJYwb7oHzFp3GjhmuwgnSIkF-Rjw3Wp6JcLrXzFozXg9-jh-OYfCQxWqGXIOmFjYI8_H7irI79ajz_99nNfWzk37RTCIEvFVAAiQem5_fUtyoYFfnpH4jdDn_3jeXatBg7FOibKyqCUigziVaIVQyfo6CNkNR8llWSxjYstmecPaYsFp-r4_SpW1s0w/w606-h640/asciidoc_pdf_hangul.png&quot; width=&quot;606&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, Arial, sans-serif; font-size: 16px; line-height: 1.7; margin: 20px 0px 0px;&quot;&gt;Asciidoctor 의 Theme 의 font 설정을 통해 해결할 수 있다는 글을 보고 방법을 찾아 보았다.&lt;/p&gt;&lt;p style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, Arial, sans-serif; font-size: 16px; line-height: 1.7; margin: 1px auto 0px;&quot;&gt;문서의 독립적인 Theme를 설정하는 것으로 Theme중 font에 대한 내용만 재정의 하여 대응할 수 있었다.&lt;/p&gt;&lt;p style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, Arial, sans-serif; font-size: 16px; line-height: 1.7; margin: 1px auto 0px;&quot;&gt;먼저 Theme 를 재정의하고 사용할 Font를 저장하기위해 문서 폴더 하위에 res 폴더을 만들어 두었다. 그리고 그 폴더에서 사용할 맑은 고딕 폰트 &quot;malgun.ttf&quot;와 &quot;D2Coding-Ver1.3.2-20180524.ttf&quot;를 복사해 두었다.&lt;/p&gt;&lt;p style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, Arial, sans-serif; font-size: 16px; line-height: 1.7; margin: 1px auto 0px;&quot;&gt;그리고 Theme를 작성하기위해 설치된 기본 Theme인 default-theme.yaml 파일을 my-theme.yaml로 복사하였다.&lt;/p&gt;&lt;p style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, Arial, sans-serif; font-size: 16px; line-height: 1.7; margin: 1px auto 0px;&quot;&gt;default-theme.yaml파일을 asciidoctor-pdf 가 설치된 경로의&amp;nbsp;data\themes 에서 복사하였다.&lt;/p&gt;&lt;p style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, Arial, sans-serif; font-size: 16px; line-height: 1.7; margin: 1px auto 0px;&quot;&gt;복사하고 기본값을 반영하기위해 extends: default를 추가하고 필요한 부분만 아래와 같이 작성하였다.&lt;/p&gt;
&lt;pre class=&quot;brush: text; ruler: true&quot;&gt;extends: default
font:
  catalog:
    # Noto Serif supports Latin, Latin-1 Supplement, Latin Extended-A, Greek, Cyrillic, Vietnamese &amp;amp; an assortment of symbols
    Noto Sans:
      normal: malgun.ttf
      bold: malgun.ttf
      italic: malgun.ttf
      bold_italic: malgun.ttf
    # M+ 1mn supports ASCII and the circled numbers used for conums
    M+ 1mn:
      normal: D2Coding-Ver1.3.2-20180524.ttf
      bold: D2Coding-Ver1.3.2-20180524.ttf
      italic: D2Coding-Ver1.3.2-20180524.ttf
      bold_italic: D2Coding-Ver1.3.2-20180524.ttf
page:
  background_color: FFFFFF
  layout: portrait
  initial_zoom: FitH
  margin: [0.4in, 0.4in, 0.4in, 0.4in]
  # margin_inner and margin_outer keys are used for recto/verso print margins when media=prepress
  margin_inner: 0.0in
  margin_outer: 0.0in
  size: A4
base:
  font_family: Noto Sans
&lt;/pre&gt;
&lt;p style=&quot;line-height: 1.7; margin: 1px auto 0px;&quot;&gt;&lt;span face=&quot;-apple-system, BlinkMacSystemFont, Helvetica Neue, Apple SD Gothic Neo, Arial, sans-serif&quot; style=&quot;color: #333333;&quot;&gt;이렇게 정의한 theme 파일과 폰트를 적용하기위해 아래 명령을 수행하였다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 1.7; margin: 1px auto 0px;&quot;&gt;&lt;span face=&quot;-apple-system, BlinkMacSystemFont, Helvetica Neue, Apple SD Gothic Neo, Arial, sans-serif&quot; style=&quot;color: #333333;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;brush: text; ruler: true&quot;&gt;asciidoctor-pdf --theme my-theme.yml -a pdf-themesdir=res -a pdf-fontsdir=&quot;res;GEM_FONTS_DIR&quot; test.adoc --out-file test_my2.pdf&lt;/pre&gt; 
그 결과 한글은 정상적으로 출력 되는 것을 확인하였다.

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkElvRp9n3s7rWx4E1fb4FWIaNR1wjf5-2hx7WoUSc5iNU-we_AoKvG9GvONJHyotc7jszD38dEf7tWq6IVPHyNP9TJoS8ZDAK27INLtqW-kYPo8OlN6M3wUbwplPVSmc4AeVZ-KEPsm0XOgkSpkcXsTqOxr4PsF_2uPd1kS3YAArzncvj5qWdr3ORUy8/s544/asciidoc_pdf_hangul_01.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;496&quot; data-original-width=&quot;544&quot; height=&quot;584&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkElvRp9n3s7rWx4E1fb4FWIaNR1wjf5-2hx7WoUSc5iNU-we_AoKvG9GvONJHyotc7jszD38dEf7tWq6IVPHyNP9TJoS8ZDAK27INLtqW-kYPo8OlN6M3wUbwplPVSmc4AeVZ-KEPsm0XOgkSpkcXsTqOxr4PsF_2uPd1kS3YAArzncvj5qWdr3ORUy8/w640-h584/asciidoc_pdf_hangul_01.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, Arial, sans-serif; font-size: 16px;&quot;&gt;하지만 kbd 매크로의 일부가 정상적으로 출력 되지 않는 현상이 나타났다.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, Arial, sans-serif; font-size: 16px; line-height: 1.7; margin: 1px auto 0px;&quot;&gt;그래서 추가 정보(&lt;a data-mce-href=&quot;https://docs.asciidoctor.org/pdf-converter/latest/theme/cjk/&quot; href=&quot;https://docs.asciidoctor.org/pdf-converter/latest/theme/cjk/&quot; rel=&quot;noopener&quot; style=&quot;color: #0070d1;&quot; target=&quot;_blank&quot;&gt;https://docs.asciidoctor.org/pdf-converter/latest/theme/cjk/&lt;/a&gt;)를 찾아 수정하였다.&lt;/p&gt;&lt;p style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, Arial, sans-serif; font-size: 16px; line-height: 1.7; margin: 1px auto 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre class=&quot;brush: text; ruler: true&quot;&gt;extends: default
font:
  catalog:
    merge: true
    Noto Sans KR: malgun.ttf
    Noto Sans Mono KR: D2Coding-Ver1.3.2-20180524.ttf
  fallbacks:
  - Noto Serif
page:
  background_color: FFFFFF
  layout: portrait
  initial_zoom: FitH
  margin: [0.4in, 0.4in, 0.4in, 0.4in]
  # margin_inner and margin_outer keys are used for recto/verso print margins when media=prepress
  margin_inner: 0.0in
  margin_outer: 0.0in
  size: A4
base:
  font_family: Noto Sans KR
codespan:
  font-family: Noto Sans Mono KR
kbd:
  font-family: $codespan-font-family
code:
  font-family: $codespan-font-family
&lt;/pre&gt;  
&lt;p style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, Arial, sans-serif; font-size: 16px; line-height: 1.7; margin: 1px auto 0px;&quot;&gt;위 Theme 로 얻은 결과이다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYXVEb88ljrBDjQfAWPd-MEWG8fg_F3AI1w-vyBqWYMGhco0e0fJVrOIJmnX8QYOBnUNUg6dPKl0L57qx9le30Xpl9tL8Rq5tx0PJCB-SrO2XAPXvzvtsNcXbkPD4qrRUXuOKhWQQNF_O2mCC-6vJ6LykJ3bnh84Dn21qhpvelE3ZLwB28pvyQxDagAok/s544/asciidoc_pdf_hangul_02.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;499&quot; data-original-width=&quot;544&quot; height=&quot;588&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYXVEb88ljrBDjQfAWPd-MEWG8fg_F3AI1w-vyBqWYMGhco0e0fJVrOIJmnX8QYOBnUNUg6dPKl0L57qx9le30Xpl9tL8Rq5tx0PJCB-SrO2XAPXvzvtsNcXbkPD4qrRUXuOKhWQQNF_O2mCC-6vJ6LykJ3bnh84Dn21qhpvelE3ZLwB28pvyQxDagAok/w640-h588/asciidoc_pdf_hangul_02.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, Arial, sans-serif; font-size: 16px; line-height: 1.7; margin: 1px auto 0px;&quot;&gt;한글과 키보드 단축키 매트로가 모두 정상적으로 출력되는 결과를 얻었다.&lt;/p&gt;&lt;p style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, Arial, sans-serif; font-size: 16px; line-height: 1.7; margin: 1px auto 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, Arial, sans-serif; font-size: 16px; line-height: 1.7; margin: 1px auto 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, Arial, sans-serif; font-size: 16px; line-height: 1.7; margin: 1px auto 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/9119201730543578869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2023/09/asciidoctor-pdf.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/9119201730543578869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/9119201730543578869'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2023/09/asciidoctor-pdf.html' title='Asciidoctor-pdf 한글 적용하기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOwJYwb7oHzFp3GjhmuwgnSIkF-Rjw3Wp6JcLrXzFozXg9-jh-OYfCQxWqGXIOmFjYI8_H7irI79ajz_99nNfWzk37RTCIEvFVAAiQem5_fUtyoYFfnpH4jdDn_3jeXatBg7FOibKyqCUigziVaIVQyfo6CNkNR8llWSxjYstmecPaYsFp-r4_SpW1s0w/s72-w606-h640-c/asciidoc_pdf_hangul.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-5176132800646617708</id><published>2022-01-02T22:06:00.002+09:00</published><updated>2022-01-02T22:06:54.708+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Build"/><category scheme="http://www.blogger.com/atom/ns#" term="cmake"/><category scheme="http://www.blogger.com/atom/ns#" term="Configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="VTK"/><category scheme="http://www.blogger.com/atom/ns#" term="VTK 9.1"/><title type='text'>VTK v9.1 Build Error: Failed to determine the thread implementation in use by the compiler.</title><content type='html'>&lt;p&gt;오랜만에 VTK 를 빌드해 보았다.&lt;/p&gt;&lt;p&gt;예전과는 다른게 추가로 설정할 것이 많이 줄어 들었다.&lt;/p&gt;&lt;p&gt;CMake 로 구성을 하는 중 에러가 발생하였는데 이를 해결하는 것이 가장 큰 걸림돌 이였다.&lt;/p&gt;&lt;p&gt;에러는 Configuration 도중 Common\Core\CMakeLists.txt 파일에서 에러가 발생하였다.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;Found Threads: TRUE&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;CMake Error at Common/Core/CMakeLists.txt:365 (message):&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; Failed to determine the thread implementation in use by the compiler.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiKF_dGEltjOHA21TgEIezBqKu8N0Q-v6_mfWv0NNHmAyQv3Vyjid7LM6vhGmVCo5KbO7eRUL62hv2ok-sd2opoZOhLlR2KyzsQO2JD9bNi7mU73e-tG2Hwig7iB2NGeo2HIITecW0JeInutLGi0b1olwPaLvRzWREv7MxCNoZVEZLNejR_CqT0ozLF=s585&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;208&quot; data-original-width=&quot;585&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiKF_dGEltjOHA21TgEIezBqKu8N0Q-v6_mfWv0NNHmAyQv3Vyjid7LM6vhGmVCo5KbO7eRUL62hv2ok-sd2opoZOhLlR2KyzsQO2JD9bNi7mU73e-tG2Hwig7iB2NGeo2HIITecW0JeInutLGi0b1olwPaLvRzWREv7MxCNoZVEZLNejR_CqT0ozLF=s16000&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;인터넷 검색을 통해서 해결책(&lt;a href=&quot;https://gitlab.kitware.com/vtk/vtk/-/issues/18281&quot;&gt;https://gitlab.kitware.com/vtk/vtk/-/issues/18281&lt;/a&gt;)을 찾았다.&lt;/p&gt;&lt;p&gt;해결 방법은 Thread를 Win32 Thread를 사용하도록 구성하는 것이였다.&lt;/p&gt;&lt;p&gt;문제가 발생한 CMakeLists.txt 파일에서 아래 코드를 추가하는 것이다.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;set(CMAKE_USE_PTHREADS_INIT 0)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;set(CMAKE_USE_WIN32_THREADS_INIT 1)&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;추가하는 위치는 아래 코드 바로 아래쪽에 추가해준다.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;vtk_module_find_package(&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;PACKAGE Threads)&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjOPQFV-o0Uf4YpNrwR66gjHO6M0cTAU4cSH3iQsNRGUm8Aqsub4m_G-vlXcFsQHo2MvsYVW1_gvSjULyqStJs4CZJQbPw0UbwDJLpu-0RjxvYs_ZhqFYKlF0Bbw5vVs99VYs-o-JLp9gjFqSgTYQIgV5bcFPqnbgQIL7iA4if43KBnUxx9BAYjtP2r=s300&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;98&quot; data-original-width=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjOPQFV-o0Uf4YpNrwR66gjHO6M0cTAU4cSH3iQsNRGUm8Aqsub4m_G-vlXcFsQHo2MvsYVW1_gvSjULyqStJs4CZJQbPw0UbwDJLpu-0RjxvYs_ZhqFYKlF0Bbw5vVs99VYs-o-JLp9gjFqSgTYQIgV5bcFPqnbgQIL7iA4if43KBnUxx9BAYjtP2r=s16000&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;조치 후 Configuration 및 Build에 문제가 발생하지 않았다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/5176132800646617708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2022/01/vtk-v91-build-error-failed-to-determine.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/5176132800646617708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/5176132800646617708'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2022/01/vtk-v91-build-error-failed-to-determine.html' title='VTK v9.1 Build Error: Failed to determine the thread implementation in use by the compiler.'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiKF_dGEltjOHA21TgEIezBqKu8N0Q-v6_mfWv0NNHmAyQv3Vyjid7LM6vhGmVCo5KbO7eRUL62hv2ok-sd2opoZOhLlR2KyzsQO2JD9bNi7mU73e-tG2Hwig7iB2NGeo2HIITecW0JeInutLGi0b1olwPaLvRzWREv7MxCNoZVEZLNejR_CqT0ozLF=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-6198466760344597039</id><published>2021-10-08T00:42:00.001+09:00</published><updated>2021-10-08T00:42:06.962+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="context menu"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows 10"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows 11"/><title type='text'>Windows 11에서 이전버전의 Context Menu 사용하기</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;Windows 11을 사용하면서 가장 불편한 점이 개편된 Context Menu였다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;ContextMenuInWin11_00.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; data-origin-height=&quot;431&quot; data-origin-width=&quot;464&quot; style=&quot;clear: both; color: #666666; display: table; font-family: verdana; font-size: small; letter-spacing: -1px; margin: 0px auto 20px; max-width: 100%; position: relative; text-align: center;&quot;&gt;&lt;span data-alt=&quot;Windows 11의 개편된 Context Menu&quot; data-lightbox=&quot;lightbox&quot; data-url=&quot;https://blog.kakaocdn.net/dn/dhgJdS/btrg8brhnBO/FLfK9i1UZ9YfjNUIvqoCK1/img.png&quot; style=&quot;cursor: pointer;&quot;&gt;&lt;img data-filename=&quot;ContextMenuInWin11_00.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; data-origin-height=&quot;431&quot; data-origin-width=&quot;464&quot; src=&quot;https://blog.kakaocdn.net/dn/dhgJdS/btrg8brhnBO/FLfK9i1UZ9YfjNUIvqoCK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdhgJdS%2Fbtrg8brhnBO%2FFLfK9i1UZ9YfjNUIvqoCK1%2Fimg.png&quot; style=&quot;border: 0px; display: inline-block; height: auto; margin: 0px; max-width: 100%; width: 464px;&quot; /&gt;&lt;/span&gt;&lt;figcaption style=&quot;caption-side: bottom; font-size: 13px; min-height: 20px; padding-top: 10px; word-break: break-word;&quot;&gt;Windows 11의 개편된 Context Menu&lt;/figcaption&gt;&lt;/figure&gt;&lt;p style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;새로운 Context Menu는 몇 개의 대표 메뉴로 구성되었고 이전의 Context Menu를 보려면 &quot;Show more options&quot; 메뉴를 선택해야만 하였다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;Context Menu 에 등록된 압축관련 메뉴와 폴더 생성 메뉴를 자주 사용하기에 개편된 Context Menu는 상당히 불편하였다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;Windows 11 22000 버전 이전에는 옵션메뉴를 통해 이전 Context Menu로 변경할 수 있었으나 22000 버전 이후로는 이마저도 막혀버렸다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;그러던 중 레이스트리를 편집하여 이전 버전의 Context Menu를 활성화 하는 방법을 찾았다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;레지스트리 편집기를 열어 HKEY_CURRENT_USER\Software\Classes\CLSID 에 {86ca1aa0-34aa-4e8b-a509-50c905bae2a2} 를 추가하고 추가한 {86ca1aa0-34aa-4e8b-a509-50c905bae2a2} 키에 서브키 InprocServer32 를 추가한 후 (Default) 값을 공란으로 설정한다.&lt;/p&gt;&lt;p style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;ContextMenuInWin11_04.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; data-origin-height=&quot;187&quot; data-origin-width=&quot;799&quot; style=&quot;clear: both; color: #666666; display: table; font-family: verdana; font-size: small; letter-spacing: -1px; margin: 0px auto 20px; max-width: 100%; position: relative; text-align: center;&quot;&gt;&lt;span data-alt=&quot;Windows 10 버전의 Context 메뉴를 사용하기위한 레지스트리 내용&quot; data-lightbox=&quot;lightbox&quot; data-url=&quot;https://blog.kakaocdn.net/dn/8r92c/btrg7V93fR8/QsAHoxIRNlfbMQWn3JxCg1/img.png&quot; style=&quot;cursor: pointer;&quot;&gt;&lt;img data-filename=&quot;ContextMenuInWin11_04.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; data-origin-height=&quot;187&quot; data-origin-width=&quot;799&quot; src=&quot;https://blog.kakaocdn.net/dn/8r92c/btrg7V93fR8/QsAHoxIRNlfbMQWn3JxCg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8r92c%2Fbtrg7V93fR8%2FQsAHoxIRNlfbMQWn3JxCg1%2Fimg.png&quot; style=&quot;border: 0px; display: inline-block; height: auto; margin: 0px; max-width: 100%; width: 799px;&quot; /&gt;&lt;/span&gt;&lt;figcaption style=&quot;caption-side: bottom; font-size: 13px; min-height: 20px; padding-top: 10px; word-break: break-word;&quot;&gt;Windows 10 버전의 Context 메뉴를 사용하기위한 레지스트리 내용&lt;/figcaption&gt;&lt;/figure&gt;&lt;p style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;레지스트리 편집을 마치고 재부팅을하면 이전 Windows 10 버전의 Context Menu를 볼 수 있다.&lt;/p&gt;&lt;p style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;ContextMenuInWin11_01.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; data-origin-height=&quot;530&quot; data-origin-width=&quot;415&quot; style=&quot;clear: both; color: #666666; display: table; font-family: verdana; font-size: small; letter-spacing: -1px; margin: 0px auto 20px; max-width: 100%; position: relative; text-align: center;&quot;&gt;&lt;span data-alt=&quot;Windows 11에서 이전 Context Menu 를 활성화한 화면&quot; data-lightbox=&quot;lightbox&quot; data-url=&quot;https://blog.kakaocdn.net/dn/cLAxU4/btrg3snxLge/ZumAgLAPpBfRUEgMRYe6m0/img.png&quot; style=&quot;cursor: pointer;&quot;&gt;&lt;img data-filename=&quot;ContextMenuInWin11_01.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; data-origin-height=&quot;530&quot; data-origin-width=&quot;415&quot; src=&quot;https://blog.kakaocdn.net/dn/cLAxU4/btrg3snxLge/ZumAgLAPpBfRUEgMRYe6m0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLAxU4%2Fbtrg3snxLge%2FZumAgLAPpBfRUEgMRYe6m0%2Fimg.png&quot; style=&quot;border: 0px; display: inline-block; height: auto; margin: 0px; max-width: 100%; width: 415px;&quot; /&gt;&lt;/span&gt;&lt;figcaption style=&quot;caption-side: bottom; font-size: 13px; min-height: 20px; padding-top: 10px; word-break: break-word;&quot;&gt;Windows 11에서 이전 Context Menu 를 활성화한 화면&lt;/figcaption&gt;&lt;/figure&gt;&lt;p style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/6198466760344597039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/10/windows-11-context-menu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/6198466760344597039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/6198466760344597039'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/10/windows-11-context-menu.html' title='Windows 11에서 이전버전의 Context Menu 사용하기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-4294112355306741021</id><published>2021-08-13T00:00:00.006+09:00</published><updated>2021-08-13T00:00:53.732+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android-sdk"/><category scheme="http://www.blogger.com/atom/ns#" term="android-studio-dir"/><category scheme="http://www.blogger.com/atom/ns#" term="config"/><category scheme="http://www.blogger.com/atom/ns#" term="Flutter"/><title type='text'>[Flutter] Android SDK 및 Android Studio 경로 설정하기</title><content type='html'>&lt;p&gt;개인적으로 개발관련 프로그램 및 필요 요소 구성할 때 설치 프로그램을 사용하지 않고 구성하는 것을 선호한다.&lt;/p&gt;&lt;p&gt;Android SDK 와 Android Studio 를 수동 설치하여 사용중인데 Flutter를 구성하면서 이들을 수동을 구성하는 법을 알아보닸다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;방법은 Flutter config 명령을 이용하여 설정할 수 있었다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;도스 명령장에서 &quot;Flutter config&quot; 명령을 수행하면 도움말이 보여는데 옵션 중 &quot;--android-sdk&quot;와 &quot;--android-studio-dir&quot;를 이용하여 설정할 수 있었다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;flutter config --android-sdk=&quot;E:\Dev\android-sdk&quot;&lt;br /&gt;flutter config --android-studio-dir=&quot;E:\Dev\android-studio&quot;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위 두 명령을 설정 후 다시 flutter config 명령을 수행하면 도움말 하단에 설정된 내용을 볼 수 있었다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;Settings:&lt;br /&gt;&amp;nbsp; android-sdk: E:\Dev\android-sdk&lt;br /&gt;&amp;nbsp; android-studio-dir: E:\Dev\android-studio&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/4294112355306741021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/08/flutter-android-sdk-android-studio.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/4294112355306741021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/4294112355306741021'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/08/flutter-android-sdk-android-studio.html' title='[Flutter] Android SDK 및 Android Studio 경로 설정하기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-2793721043624349054</id><published>2021-07-13T00:20:00.000+09:00</published><updated>2021-07-13T00:20:17.651+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Flutter"/><category scheme="http://www.blogger.com/atom/ns#" term="null safety"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio Code"/><category scheme="http://www.blogger.com/atom/ns#" term="VSCode"/><title type='text'>[Flutter] Error: Cannot run with sound null safety</title><content type='html'>&lt;p&gt;Flutter 개발환경을 구축해보고 공식 사이트의 안내를 따라 앱을 만들어 보았는데 실행부터 에러가 발생하였다.&lt;/p&gt;&lt;p&gt;https://flutter-ko.dev/docs/get-started/codelab&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;Error: Cannot run with sound null safety, because the following dependencies&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;don&#39;t support null safety:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;- package:english_words&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;해결을 위해 인터넷을 찾아보니 해결책은 나오는데 원인은 모르겠다. 앱을 만들기 쉽다고 하는데 내게는 그리 쉽운게 아닌 것 같다. 해결 방법은 실행 명령 파라메터에 &quot;--no-sound-null-safety&quot;를 추가하는 것이다.&lt;/p&gt;&lt;p&gt;Android Studio 를 사용하는경우, 메인 메뉴의 Run 메뉴에 있는 &quot;Edit Configuration...&quot; 메뉴 대화상자의 &quot;Additional run args&quot; 항목에 &quot;--no-sound-null-safety&quot;를 추가한다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEsjNPU3sXnWROOWAzf3ebtyTs8I36IgkgLTffkHhNeCOmNcLXvyuVmA9nEUBOLB0wOVeBjVr083B0EKC7MiVRyFYhItsdtYNqLlUIl4p07BMs9tBRO_dj-6cJakhPinHgAWosiIgqv0s/s808/Flutter_nullsafety_00.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;185&quot; data-original-width=&quot;808&quot; height=&quot;146&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEsjNPU3sXnWROOWAzf3ebtyTs8I36IgkgLTffkHhNeCOmNcLXvyuVmA9nEUBOLB0wOVeBjVr083B0EKC7MiVRyFYhItsdtYNqLlUIl4p07BMs9tBRO_dj-6cJakhPinHgAWosiIgqv0s/w640-h146/Flutter_nullsafety_00.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Visual Studio Code 를 사용하는 경우, File &amp;gt; Preferences &amp;gt; Settings (Ctrl + ,) 에서 &quot;Flutter run additional args&quot; 를 찾아서 아이템을 추가하고 &quot;--no-sound-null-safety&quot;를 입력한다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5wKGpkcFzuwbqpaq8IOhRhSb5VdOdx4GG7T355i6ItDxmYPCpeDz1Rqk8Gf4hn3Rx-LoQyVvuOMU0gptIzCg2wW85nD9lfg1wBX6l5uo8wHGJgt-ezMiQtl-oOaVL23P-tuBY3pcaKTk/s724/Flutter_nullsafety_01.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;319&quot; data-original-width=&quot;724&quot; height=&quot;282&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5wKGpkcFzuwbqpaq8IOhRhSb5VdOdx4GG7T355i6ItDxmYPCpeDz1Rqk8Gf4hn3Rx-LoQyVvuOMU0gptIzCg2wW85nD9lfg1wBX6l5uo8wHGJgt-ezMiQtl-oOaVL23P-tuBY3pcaKTk/w640-h282/Flutter_nullsafety_01.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;파라메터 입력 후 실행을하니 정상 실행되는 결과 화면을 볼 수 있었다.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/2793721043624349054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/07/flutter-error-cannot-run-with-sound.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/2793721043624349054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/2793721043624349054'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/07/flutter-error-cannot-run-with-sound.html' title='[Flutter] Error: Cannot run with sound null safety'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEsjNPU3sXnWROOWAzf3ebtyTs8I36IgkgLTffkHhNeCOmNcLXvyuVmA9nEUBOLB0wOVeBjVr083B0EKC7MiVRyFYhItsdtYNqLlUIl4p07BMs9tBRO_dj-6cJakhPinHgAWosiIgqv0s/s72-w640-h146-c/Flutter_nullsafety_00.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-586541402702026082</id><published>2021-07-10T15:29:00.002+09:00</published><updated>2021-07-10T15:29:40.351+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="22000.65"/><category scheme="http://www.blogger.com/atom/ns#" term="Insider Preview"/><category scheme="http://www.blogger.com/atom/ns#" term="Secure Boot"/><category scheme="http://www.blogger.com/atom/ns#" term="TPM 2.0"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows 11"/><title type='text'>[Windows 11] 구형 노트북에 Windows 11 업그레이드 하기</title><content type='html'>&lt;p&gt;회사에서 사용하는 PC에 Windows 11을 업그레이드 한 후 집에서 사용하는 노트북에도 설치를 해 보고 싶었다. 그래서 시도를 해 보았지만 HW이 충족되지 않아 할 수 없었다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr9KFntJ0dUuS0-zBjw4eX2A449gyE0z2ECRKMj5tppL42UBFH5SW2M2btC2Wvj9MvfZdoycrSblppFnLomUGnzTixe5AB2AdL7egU3N-jz5PIuyOpRIjmN2a54owcLU0RtS-UkvD_U5Y/s439/UpToWin11onOldPC_Blog_00.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;321&quot; data-original-width=&quot;439&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr9KFntJ0dUuS0-zBjw4eX2A449gyE0z2ECRKMj5tppL42UBFH5SW2M2btC2Wvj9MvfZdoycrSblppFnLomUGnzTixe5AB2AdL7egU3N-jz5PIuyOpRIjmN2a54owcLU0RtS-UkvD_U5Y/s320/UpToWin11onOldPC_Blog_00.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;그래도 역시나 비슷한 상황에서 해결하려는 사람들이 많았는지 인터넷에 해결방법이 나와 있었다.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.reddit.com/r/windowsinsiders/comments/oa0cse/bypass_tpm_20_requirement_for_windows_11_insider/&quot; target=&quot;_blank&quot;&gt;Bypass TPM 2.0 Requirement for Windows 11 Insider Preview via Windows update / Insider Programme&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;사전준비는 Registry 편집 단계로 HW 조건 미충족 문제를 해결하기 위한 것으로 강제로 Dev Channel 사용할 수 있게 하는 것과 Windows 11의 필수 HW 조건인 TPM 2.0 과 Secure Boot를 무시하도록 하기위한 조치이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Dev Channel 을 사용하기 위해 아래 두 키에 포함되어있는 일부 항목을 수정한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\UI\Selection&lt;/p&gt;&lt;p&gt;UIBranch = Dev&lt;/p&gt;&lt;p&gt;UIContentType = Mainline&lt;/p&gt;&lt;p&gt;UIRing = External&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0t1AFBNd6NYnUMXK-UFeonTBF-hHKVjP1oFCcUqRCzPiktWqzE6ImdrItdg3CcDblMunrJ2K6V6014vrGtYh1YVTCVx4NPIEEvu9fER3nbHHaoIkKkqahSjJ73Kx4N3SnLS21dvshutI/s515/UpToWin11onOldPC_Blog_01.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;176&quot; data-original-width=&quot;515&quot; height=&quot;136&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0t1AFBNd6NYnUMXK-UFeonTBF-hHKVjP1oFCcUqRCzPiktWqzE6ImdrItdg3CcDblMunrJ2K6V6014vrGtYh1YVTCVx4NPIEEvu9fER3nbHHaoIkKkqahSjJ73Kx4N3SnLS21dvshutI/w400-h136/UpToWin11onOldPC_Blog_01.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\Applicability&lt;/p&gt;&lt;p&gt;BranchName = Dev&lt;/p&gt;&lt;p&gt;ContentType = Mainline&lt;/p&gt;&lt;p&gt;Ring = External&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPzLVtjqkMrdOYMVc2j_NjwRnHr37-J-xTW2xvKJ7WlUeHTAVyHbVav8Rm9okuN9ea_BhLn9kVy2WtZn-skICb2usVxVmvAqtfG3kQJ5oH8bsZr0wu-UrhjkGfkoOlBD3jH2XUs8uRPQM/s515/UpToWin11onOldPC_Blog_02.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;176&quot; data-original-width=&quot;515&quot; height=&quot;136&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPzLVtjqkMrdOYMVc2j_NjwRnHr37-J-xTW2xvKJ7WlUeHTAVyHbVav8Rm9okuN9ea_BhLn9kVy2WtZn-skICb2usVxVmvAqtfG3kQJ5oH8bsZr0wu-UrhjkGfkoOlBD3jH2XUs8uRPQM/w400-h136/UpToWin11onOldPC_Blog_02.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;다음으로 TPM 과 Secure Boot 를 해결하기 위한 것으로 HKEY_LOCAL_MACHINE\SYSTEM\Setup 에 LabConfig 키를 추가하고 DWORD 항목 BypassTPMCheck와 BypassSecureBootCheck를 추가하여 1로 설정한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig&lt;/p&gt;&lt;p&gt;BypassTPMCheck = 1&lt;/p&gt;&lt;p&gt;BypassSecureBootCheck = 1&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeENgtbP7cPnUW_xYkEls2PZ9JorM-VRVl9UgKt8Sh0RTfmH3rONo7yitI9IlHafIs11E16nR7kx7-B3M3Dhb-Mmsm2DZuJdxB0bQe_GnqXSed5dy92wbZJjzL7XL1CNt9Jas5Lnko668/s515/UpToWin11onOldPC_Blog_03.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;176&quot; data-original-width=&quot;515&quot; height=&quot;136&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeENgtbP7cPnUW_xYkEls2PZ9JorM-VRVl9UgKt8Sh0RTfmH3rONo7yitI9IlHafIs11E16nR7kx7-B3M3Dhb-Mmsm2DZuJdxB0bQe_GnqXSed5dy92wbZJjzL7XL1CNt9Jas5Lnko668/w400-h136/UpToWin11onOldPC_Blog_03.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;위의 조치로 Windows Insider Program의 Dev Channel을 사용할 수 있고 해당 채널을 이용하여 업그레이드를 진행한다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeKxfwevG5w3CEaYDDs1HlrmE8AUWwa2dT3Vhk3BQ4R22agbNk6JFMN1byrJkUjHrV0cqNM-JvvxVcYlZs_Zr0ijO4VjjxwravxMyfh5bovXZrB9vsKnDH2ZeYpD1p45dHVc2l1B-uuE0/s442/UpToWin11onOldPC_Blog_04.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;357&quot; data-original-width=&quot;442&quot; height=&quot;323&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeKxfwevG5w3CEaYDDs1HlrmE8AUWwa2dT3Vhk3BQ4R22agbNk6JFMN1byrJkUjHrV0cqNM-JvvxVcYlZs_Zr0ijO4VjjxwravxMyfh5bovXZrB9vsKnDH2ZeYpD1p45dHVc2l1B-uuE0/w400-h323/UpToWin11onOldPC_Blog_04.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8cff8womXDWBpEoQyN-0wBUTjSmP7k5oAicx2s4e8221hVAywRnVXleYjyx0LqIUSNqv5qgxk8TWRH0CEZYmVN1juXiQGeMQZVukVL4o1PA28t32uUx2FplEZO6cmHp4t2iOgZsQIOMw/s328/UpToWin11onOldPC_Blog_05.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;168&quot; data-original-width=&quot;328&quot; height=&quot;205&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8cff8womXDWBpEoQyN-0wBUTjSmP7k5oAicx2s4e8221hVAywRnVXleYjyx0LqIUSNqv5qgxk8TWRH0CEZYmVN1juXiQGeMQZVukVL4o1PA28t32uUx2FplEZO6cmHp4t2iOgZsQIOMw/w400-h205/UpToWin11onOldPC_Blog_05.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;업그레이드 도중 TPM 2.0 이 없는 경우 아래와 같이 오류 메시지가 출력되고 업그레이드가 종료된다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6cERnuM8cE_RxE3hiKWW892o_NLOkvfLbqVJ9P0ZqPgyR6zKMzTr0b37Nern_cyHpwrUuEqxCe-f4-Jpgi9rPvmLedMQZSXv9HWKbbVrKrEDM6XgHv_4XN0y5p8f1W_LHbSy9ed8VzSE/s702/UpToWin11onOldPC_06.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;555&quot; data-original-width=&quot;702&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6cERnuM8cE_RxE3hiKWW892o_NLOkvfLbqVJ9P0ZqPgyR6zKMzTr0b37Nern_cyHpwrUuEqxCe-f4-Jpgi9rPvmLedMQZSXv9HWKbbVrKrEDM6XgHv_4XN0y5p8f1W_LHbSy9ed8VzSE/s320/UpToWin11onOldPC_06.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;이때 &lt;a href=&quot;https://github.com/CodeProf14/Fix-TPM&quot;&gt;https://github.com/CodeProf14/Fix-TPM&lt;/a&gt; 에서 AppraiserRes.dll 파일을 다운로드 받아서 C:\$WINDOWS.~BT\Sources 경로에 복사해준다. 그리고 업데이트 대화상자에서 Fix Issue 버튼을 선택하고 다시 업그레이드를 시도한다. 이번에는 업그레이트가 멈춤 없이 진행되었다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEF4YRJwu7vZn0pSN2AMv7G5F5qwmVrjur_M_qxo2IkXmNQBCMiymVKjTDq57HxYlKi8IgPG6pbie2JmDBDvQ59MHk5eawomGDpV8BpS3MKfREwyov96nt_gHREgGET7Vq9SR8mTkQRes/s573/UpToWin11onOldPC_Blog_06.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;236&quot; data-original-width=&quot;573&quot; height=&quot;165&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEF4YRJwu7vZn0pSN2AMv7G5F5qwmVrjur_M_qxo2IkXmNQBCMiymVKjTDq57HxYlKi8IgPG6pbie2JmDBDvQ59MHk5eawomGDpV8BpS3MKfREwyov96nt_gHREgGET7Vq9SR8mTkQRes/w400-h165/UpToWin11onOldPC_Blog_06.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;재부팅 후 Windows 11을 볼 수 있었다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3GALCNKe6kxxeaytrm29ykNEWTwC5hGfM9EeL6csdlDUR0hLMRc4pNrBNPhO7SVM9W4rzLKaVmOZWUKq-rBDnLILbUGdONI4R2VNZ_lA0Uu_BP4yHV4X28TPd8R80c8BgPHtMvqSd0Do/s480/UpToWin11onOldPC_Blog_07.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;270&quot; data-original-width=&quot;480&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3GALCNKe6kxxeaytrm29ykNEWTwC5hGfM9EeL6csdlDUR0hLMRc4pNrBNPhO7SVM9W4rzLKaVmOZWUKq-rBDnLILbUGdONI4R2VNZ_lA0Uu_BP4yHV4X28TPd8R80c8BgPHtMvqSd0Do/w640-h360/UpToWin11onOldPC_Blog_07.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/586541402702026082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/07/windows-11-windows-11.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/586541402702026082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/586541402702026082'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/07/windows-11-windows-11.html' title='[Windows 11] 구형 노트북에 Windows 11 업그레이드 하기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr9KFntJ0dUuS0-zBjw4eX2A449gyE0z2ECRKMj5tppL42UBFH5SW2M2btC2Wvj9MvfZdoycrSblppFnLomUGnzTixe5AB2AdL7egU3N-jz5PIuyOpRIjmN2a54owcLU0RtS-UkvD_U5Y/s72-c/UpToWin11onOldPC_Blog_00.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-4604293520977813282</id><published>2021-07-07T23:43:00.002+09:00</published><updated>2021-07-07T23:43:30.447+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="File Explorer"/><category scheme="http://www.blogger.com/atom/ns#" term="Item Space"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows 11"/><title type='text'>[Windows 11] 탐색기의 파일 리스트의 간격을 줄이기</title><content type='html'>&lt;p&gt;언제부터인가 탐색기의 파일 항목 리스트의 간격이 매우 넓어졌다. 아마도 20H2 버전부터인것 같다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheTRE4lQq-DZ-uq-5LhdzYLd-W51Z-DgQ4noiH_wcfETE6EhbI7vZAj5yoXBGc4QDp5Uo8UGuQhMqcKxHl6RbRiv1ZBln5W338mCdvr8BVHkyXXFMoyXq-_NSk4u5OdSyqyUgDT2KQjFk/s540/Win11_File_Explorer_1_00.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;199&quot; data-original-width=&quot;540&quot; height=&quot;236&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheTRE4lQq-DZ-uq-5LhdzYLd-W51Z-DgQ4noiH_wcfETE6EhbI7vZAj5yoXBGc4QDp5Uo8UGuQhMqcKxHl6RbRiv1ZBln5W338mCdvr8BVHkyXXFMoyXq-_NSk4u5OdSyqyUgDT2KQjFk/w640-h236/Win11_File_Explorer_1_00.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;간격이 넓어지다보니 한화면에 보여주는 파일 수가 많이 줄어들어 불편하여 이전 형태로 변경하는 방법을 찾아보았다. 어전 버전부터 지원하는 기능인지는 모르겠으나 Windows 11 에서는 탐색기 옵션으로 간격을 원래대로 돌릴 수 있었다.&lt;/p&gt;&lt;p&gt;폴더 옵션 대화상자에서 &quot;Decrease space between items (compact view)&quot; 옵션을 선택해 주기만하면 된다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_lhBBClX3LfQkDLABogG7StfZODVtneb6YQ1fZUxbKkbC3Pc3uXc_-gZlWnidfKsv5wOJkI1y3DHNNJOQt4iDfDuRGq23NrMlBbgnmbn5gvwdRuSDYMFSDRpFkmnkHPeUaRw3yj2SoY4/s475/Win11_File_Explorer_1_01.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;475&quot; data-original-width=&quot;382&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_lhBBClX3LfQkDLABogG7StfZODVtneb6YQ1fZUxbKkbC3Pc3uXc_-gZlWnidfKsv5wOJkI1y3DHNNJOQt4iDfDuRGq23NrMlBbgnmbn5gvwdRuSDYMFSDRpFkmnkHPeUaRw3yj2SoY4/w321-h400/Win11_File_Explorer_1_01.png&quot; width=&quot;321&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;옵션 설정후 탐색기를 다시 시작하면 예전처럼 파일 항목 간격이 줄어든 것을 볼 수 있다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKqvMUNT05V0TXK-4OdAMYRQafSjKASIB8B3bAPfcjASvnNJKkFdw5ol8WH6lSSojz1tmKXzYHRAIRpb8IIa-aQCoaOo4FBq4EqDUtRGCf16Tpn0i0HmnjbZ46mc9jdBDMHdXmnEmyykE/s537/Win11_File_Explorer_1_02.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;160&quot; data-original-width=&quot;537&quot; height=&quot;192&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKqvMUNT05V0TXK-4OdAMYRQafSjKASIB8B3bAPfcjASvnNJKkFdw5ol8WH6lSSojz1tmKXzYHRAIRpb8IIa-aQCoaOo4FBq4EqDUtRGCf16Tpn0i0HmnjbZ46mc9jdBDMHdXmnEmyykE/w640-h192/Win11_File_Explorer_1_02.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/4604293520977813282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/07/windows-11_7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/4604293520977813282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/4604293520977813282'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/07/windows-11_7.html' title='[Windows 11] 탐색기의 파일 리스트의 간격을 줄이기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheTRE4lQq-DZ-uq-5LhdzYLd-W51Z-DgQ4noiH_wcfETE6EhbI7vZAj5yoXBGc4QDp5Uo8UGuQhMqcKxHl6RbRiv1ZBln5W338mCdvr8BVHkyXXFMoyXq-_NSk4u5OdSyqyUgDT2KQjFk/s72-w640-h236-c/Win11_File_Explorer_1_00.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-1158239156273734109</id><published>2021-07-07T23:40:00.003+09:00</published><updated>2021-07-17T11:53:12.211+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="context menu"/><category scheme="http://www.blogger.com/atom/ns#" term="Filer Explorer"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows 11"/><title type='text'>[Windows 11] 파일 탐색기의 팝업메뉴(Context Menu)을 Windows 10 형태로 변경하기</title><content type='html'>&lt;p&gt;&lt;span style=&quot;color: #373737; font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, dotum, 돋움, sans-serif; font-size: 16px;&quot;&gt;※ 22000.71 버전 이후로 적용이 되지 않는다. ☹️&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Windows 11의 큰 변화중의 하나는 파일 탐색기의 리본바와 팝업메뉴의 간소화이다.&lt;/p&gt;&lt;p&gt;메인 메뉴의 사용이 많지 않는 나는 간소화에 큰 영향이 없는데 팝업 메뉴의 경우 간소화로 많은 불편함을 가져왔다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKcjkJAHk5U7LDPxvWvHmea2rxMttZLge4jlV7vVIiZq_vXigI9xZTs0GCKylvsjUP3Alxyewn-SkXie0sJamHI0Nyb0OSCj-x6fyZl07PkdeJydm_PumxfQvcQ0dHQoH0F0hOtERHjNo/s699/Win11_File_Explorer_00.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;623&quot; data-original-width=&quot;699&quot; height=&quot;570&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKcjkJAHk5U7LDPxvWvHmea2rxMttZLge4jlV7vVIiZq_vXigI9xZTs0GCKylvsjUP3Alxyewn-SkXie0sJamHI0Nyb0OSCj-x6fyZl07PkdeJydm_PumxfQvcQ0dHQoH0F0hOtERHjNo/w640-h570/Win11_File_Explorer_00.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;탐색기 작업에 많은 부분을 팝업 메뉴로 처리를 했는데 기존의 메뉴를 부르기에는 매우 불편하게 변경이 되었다. 나와 유사한 생각을 하는 사람이 많아서인지 이전 형태의 팝업 메뉴로 전환하는 방법을 찾는 사람이 많은 것 같다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이전 형태로 되돌리는 방법은 간단하였다. 폴더 옵션에서 &quot;Launch folder windows in a separate process&quot; 옵션을 선택해 주기만 하면된다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrqaj-9LyNKDDTtPiz-O1qLvUtny0Yd2P4NztG7IkXsQEWNMQOG4f_chxeMH5Vc4IZ1AkHHHRnHZ93BiIrnqATr7A-PErdG6j_wMAiDWGGn7V7DdD8evuZqbunrMwgNqgupbeewPxk2WI/s475/Win11_File_Explorer_02.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;475&quot; data-original-width=&quot;382&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrqaj-9LyNKDDTtPiz-O1qLvUtny0Yd2P4NztG7IkXsQEWNMQOG4f_chxeMH5Vc4IZ1AkHHHRnHZ93BiIrnqATr7A-PErdG6j_wMAiDWGGn7V7DdD8evuZqbunrMwgNqgupbeewPxk2WI/w321-h400/Win11_File_Explorer_02.png&quot; width=&quot;321&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;이전 버전에도 있는 옵션인데 어찌 이번 버전에서는 탐색기의 외형까지 영향을 주는지는 모르겠으나 이 옵션을 설정하면 이전 형태의 탐색기를 사용할 수 있다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrvANClupa53Vf2_1nkTbB_1ElbTo6SEaqcuW_WJ_Lzisvp2fLmBvQzwKXiqrK4A6KAtTRYFZPqSlRgIwDhGa3SYbMng0PmNZResLu-osnBDGC9nJEKfLYJFw6DNgmHlx2XVAs-gTfYLo/s640/Win11_File_Explorer_03.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;403&quot; data-original-width=&quot;640&quot; height=&quot;402&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrvANClupa53Vf2_1nkTbB_1ElbTo6SEaqcuW_WJ_Lzisvp2fLmBvQzwKXiqrK4A6KAtTRYFZPqSlRgIwDhGa3SYbMng0PmNZResLu-osnBDGC9nJEKfLYJFw6DNgmHlx2XVAs-gTfYLo/w640-h402/Win11_File_Explorer_03.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/1158239156273734109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/07/windows-11-context-menu-windows-10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/1158239156273734109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/1158239156273734109'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/07/windows-11-context-menu-windows-10.html' title='[Windows 11] 파일 탐색기의 팝업메뉴(Context Menu)을 Windows 10 형태로 변경하기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKcjkJAHk5U7LDPxvWvHmea2rxMttZLge4jlV7vVIiZq_vXigI9xZTs0GCKylvsjUP3Alxyewn-SkXie0sJamHI0Nyb0OSCj-x6fyZl07PkdeJydm_PumxfQvcQ0dHQoH0F0hOtERHjNo/s72-w640-h570-c/Win11_File_Explorer_00.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-4259454651171773152</id><published>2021-07-06T22:52:00.002+09:00</published><updated>2021-07-06T22:52:31.247+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="22000.51"/><category scheme="http://www.blogger.com/atom/ns#" term="Inside Preview"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows 11"/><title type='text'>Windows 11 업그레이드</title><content type='html'>&lt;p&gt;Windows 11 이 발표되고 얼마되지 않아 Windows Insider Program 의 Dev Channel에 Windows 11 인 Build 22000.51 버전이 올라왔다. 사용하고 있던 PC에 바로 설치해 보았다.&lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVNf8bQ1Cto3C2ZMCSrWnhxc4uUUrXZONAfOdOQGAc9BfRvrqDWpTrTmbra21T7lQCIcy1sCQ5szff98sej0lLF47EMCi8V-qQwL82BmVc1jQOzoh3C6b3O327_WOExjM2AMZ8oyrNhws/s599/Win11_00_crop.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;338&quot; data-original-width=&quot;599&quot; height=&quot;362&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVNf8bQ1Cto3C2ZMCSrWnhxc4uUUrXZONAfOdOQGAc9BfRvrqDWpTrTmbra21T7lQCIcy1sCQ5szff98sej0lLF47EMCi8V-qQwL82BmVc1jQOzoh3C6b3O327_WOExjM2AMZ8oyrNhws/w640-h362/Win11_00_crop.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Windows 11&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;업그레이드는 생각보다는 빠르게 진행되었다. 업그레이드 후 로그인을 하니 산뜻한 배경화면이 맞이해 주었다.&lt;/p&gt;&lt;p&gt;처음에는 작업표시줄이 중앙정렬되어 다소 어색한 느낌이었다. 개인적으로 작업표시줄의 버튼의 위치가 고정되어 있는것을 선호하여 작업 표시줄을 좌측정렬로 변경하였다. 작업표시줄에서 마우스 우측 버튼 메뉴인 Taskbar Settings을 선택해서 보여지는 메뉴중 Behaviors 설정에서 정렬을 바꾸어 줄 수 있다.&lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAhqV7zMciq5GmWmDy5Gf73ZbNG6QHDl7yRNuUIU_CohoV9OZVlhTV_0v5NvDBze8UQH4It0jSm9L2vOXCjZUD0OiMujESjaaT0Z-779UUTy2ojC45Ln4XFydvk57ZjC98__kb4M9vTEk/s298/Win11_15.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;70&quot; data-original-width=&quot;298&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAhqV7zMciq5GmWmDy5Gf73ZbNG6QHDl7yRNuUIU_CohoV9OZVlhTV_0v5NvDBze8UQH4It0jSm9L2vOXCjZUD0OiMujESjaaT0Z-779UUTy2ojC45Ln4XFydvk57ZjC98__kb4M9vTEk/s0/Win11_15.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;작업표시줄 마우스 우측 메뉴&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh449MjcFYMI4lSeJvbGgyr3Z4bFzI4NiS_WAQS1SosiP9X_GbuIjjrIGF3FrTDU9meoQbxUk97MeUosc6i7O59CsyDVkuubkXX4sVbZkZ7duzWysIpsKoX_mu1xe8LUzs02BmSA36kB7M/s484/Win11_16.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;126&quot; data-original-width=&quot;484&quot; height=&quot;104&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh449MjcFYMI4lSeJvbGgyr3Z4bFzI4NiS_WAQS1SosiP9X_GbuIjjrIGF3FrTDU9meoQbxUk97MeUosc6i7O59CsyDVkuubkXX4sVbZkZ7duzWysIpsKoX_mu1xe8LUzs02BmSA36kB7M/w400-h104/Win11_16.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;작업표시줄 버튼 정렬 설정&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;Windows 11 에서는 윈도우와 팝업메뉴의 모서리가 둥글게 처리되었다.&lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC8AmPGP6nzFZLmGCqP5ySGcfhYsw48fBdGuVQi3mc-I3P_LAfrRSy0Kk48OkEE90dhBTIKKTPjsT6sjNaltAlEaZDWeV2sAIqeiktrt4yT2zSCt56dSXDT_LiG78lcryFHVKGWySVqjo/s581/Win11_09.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;373&quot; data-original-width=&quot;581&quot; height=&quot;413&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC8AmPGP6nzFZLmGCqP5ySGcfhYsw48fBdGuVQi3mc-I3P_LAfrRSy0Kk48OkEE90dhBTIKKTPjsT6sjNaltAlEaZDWeV2sAIqeiktrt4yT2zSCt56dSXDT_LiG78lcryFHVKGWySVqjo/w640-h413/Win11_09.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;윈도우와 팝업메뉴&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;윈도우와 팝업메뉴 뿐만아니라 버튼들도 둥글둥글 하게 변했고, 텍스트 입력 상자도 밑줄색이 추가되었다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCIczWtICLuPhEU4IWMLs1Xii_H9H1Mus_zX1r9E6kn2xL_6sfSP8-XxLPNf32e4eikE_0Gl31c1xgIlZlFMO3hAlDnGC6d6TDnacVddbG-MkqjwJvDh23Co_A0s0Di8hmC0atSseKRMw/s356/Win11_11.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;152&quot; data-original-width=&quot;356&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCIczWtICLuPhEU4IWMLs1Xii_H9H1Mus_zX1r9E6kn2xL_6sfSP8-XxLPNf32e4eikE_0Gl31c1xgIlZlFMO3hAlDnGC6d6TDnacVddbG-MkqjwJvDh23Co_A0s0Di8hmC0atSseKRMw/s320/Win11_11.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;기본 윈도우 컨트롤을 사용하는 프로그램들은 모두 둥글둥글한 모습을 보여주었다.&lt;/p&gt;&lt;p&gt;그리고 탐색기도 큰 변화가 있었다. 둥글둥글한 윈도우에 기존 메인 메뉴인 리본메뉴와 마우스 우측 메뉴도 간소화되었다.&lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE4RzAFVi7eRG5fPTMpyV7wQ43S2rIHvlNV846xzi0ueeOmoEYb01XiimccDvnb8Kk6WLPMGILNrkBmHixSz3ssUOmWWPKrCKcbQyOOObcly5Yf96tvp4YN87Dydt1viQcOo1BSTmAwFI/s704/Win11_12.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;543&quot; data-original-width=&quot;704&quot; height=&quot;494&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE4RzAFVi7eRG5fPTMpyV7wQ43S2rIHvlNV846xzi0ueeOmoEYb01XiimccDvnb8Kk6WLPMGILNrkBmHixSz3ssUOmWWPKrCKcbQyOOObcly5Yf96tvp4YN87Dydt1viQcOo1BSTmAwFI/w640-h494/Win11_12.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;파일 탐색기&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAkVGTWjBK3pBy3rIZHyVoy5gsVPWiG5qZLfb2Z9954EEGLuhIh3h1B551YwELWp6mk6F8VT6Y2Ie8w3hwTojxQhXySt9LkflkZsgkY4EtbppNEG1AjL6NbjPY4Asza68mf6TjrKLSdps/s500/Win11_13.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;500&quot; data-original-width=&quot;436&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAkVGTWjBK3pBy3rIZHyVoy5gsVPWiG5qZLfb2Z9954EEGLuhIh3h1B551YwELWp6mk6F8VT6Y2Ie8w3hwTojxQhXySt9LkflkZsgkY4EtbppNEG1AjL6NbjPY4Asza68mf6TjrKLSdps/w349-h400/Win11_13.png&quot; width=&quot;349&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;탐색기 우측 메뉴&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;탐색기 우측 메뉴가 간소화되면서 기존 우측 Context 메뉴의 사용 빈도가 높은 나로서는 상당히 불편한 변화였다. 계속 사용하면서 해결 방법과 장단점을 찾아 봐야겠다.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/4259454651171773152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/07/windows-11.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/4259454651171773152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/4259454651171773152'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/07/windows-11.html' title='Windows 11 업그레이드'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVNf8bQ1Cto3C2ZMCSrWnhxc4uUUrXZONAfOdOQGAc9BfRvrqDWpTrTmbra21T7lQCIcy1sCQ5szff98sej0lLF47EMCi8V-qQwL82BmVc1jQOzoh3C6b3O327_WOExjM2AMZ8oyrNhws/s72-w640-h362-c/Win11_00_crop.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-247543870288790739</id><published>2021-07-05T22:48:00.001+09:00</published><updated>2021-07-05T22:48:50.638+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android License"/><category scheme="http://www.blogger.com/atom/ns#" term="Flutter"/><title type='text'>Android license status unknown 문제 해결</title><content type='html'>&lt;p&gt;&amp;nbsp;Flutter을 해 보고 싶어서 설치를 했는데 설치후 flutter doctor을 수행하니 Android license status unknown 에러가 나왔다.&lt;/p&gt;&lt;p&gt;flutter doctor --android-license 를 수행하면 자바 에러가 발생하였다. JDK 는 OpenJDK 17을 사용하고 있었다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCb1SLbyHqOVMPNEGX78b4I3478UwRyWxmGED2yJMmm8LSNpijmF2bK4b0nIeoP-33xv3DNIJugh1yS1XjDCPptKL1rGHZp3_YMJzh-CJanee3Gl0SZY7akljlcFPL7KCc6YR1t6S5zGY/s722/Flutter_Env_00.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;483&quot; data-original-width=&quot;722&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCb1SLbyHqOVMPNEGX78b4I3478UwRyWxmGED2yJMmm8LSNpijmF2bK4b0nIeoP-33xv3DNIJugh1yS1XjDCPptKL1rGHZp3_YMJzh-CJanee3Gl0SZY7akljlcFPL7KCc6YR1t6S5zGY/w640-h428/Flutter_Env_00.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;해결 방법을 알 수 었어 인터넷에 검색을 해 보니 몇 가지 해결책이 검색이 되었다.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;JDK 버전을 JDK8 로 변경&lt;/li&gt;&lt;li&gt;Android SDK Tools(Obsolete)을 설치&lt;/li&gt;&lt;li&gt;SDKManager.bat 및 jar 파일 다운받아 설치&lt;/li&gt;&lt;li&gt;Android SDK Command-line Tools 설치&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&quot;JDK 버전을 JDK8 로 변경&quot;은 원치 않았다 가급적 최신 JDK를 사용하고 싶어서 이 방법은 시도하지 않았다.&lt;/p&gt;&lt;p&gt;&quot;Android SDK Tools(Obsolete)&quot; 은 내가 설치한 Android SDK 에는 해당 항목이 보이지 않았다. &quot;Hide Obsolete Packages&quot; 항목을 해제해도 나타나지 않았다.&lt;/p&gt;&lt;p&gt;&quot;SDKManager.bat 및 jar 파일 다운받아 설치&quot; 방법은 너무 복잡하고 뭔가 깔끔해 보이지 않았다.&lt;/p&gt;&lt;p&gt;그래서 마지막으로 선택한 방법이 &quot;Android SDK Command-line Tools 설치&quot; 이였다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA6n78Td0gJ7qvd24PxvTu6SOTcO7R5pAb8DUPbcd9yH2jU7AkPwfOzjcWxFyMNURh1e5-HKzYiHKFbpex_SsiqUVRG1KjTsHYsNvCvmR4FKvUw3UfO88R_l5ukH2ULWTzzRrBytjFUlI/s926/Flutter_Env_01.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;701&quot; data-original-width=&quot;926&quot; height=&quot;484&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA6n78Td0gJ7qvd24PxvTu6SOTcO7R5pAb8DUPbcd9yH2jU7AkPwfOzjcWxFyMNURh1e5-HKzYiHKFbpex_SsiqUVRG1KjTsHYsNvCvmR4FKvUw3UfO88R_l5ukH2ULWTzzRrBytjFUlI/w640-h484/Flutter_Env_01.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Android SDK Command-line Tools을 설치 한 후, flutter doctor를 수행하여 에러가 사라졌음을 확인하였고 flutter doctor --android-license 명려으로 다수의 라이선스를 수용하는 질의에 응답하였다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0_echyphenhyphenZYca6QuKGBG0mFZiliw0xi_EtuRS90wrtssOL8EeXZL49oPZiOyKwc3WxvdopdzRFU_aQ9fpzIQeSsei2iU96wy3utTjx7HW9JqeHRXED-8QI9hl_d4bza3-hrPdjlWfpeSyVk/s697/Flutter_Env_02.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;304&quot; data-original-width=&quot;697&quot; height=&quot;278&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0_echyphenhyphenZYca6QuKGBG0mFZiliw0xi_EtuRS90wrtssOL8EeXZL49oPZiOyKwc3WxvdopdzRFU_aQ9fpzIQeSsei2iU96wy3utTjx7HW9JqeHRXED-8QI9hl_d4bza3-hrPdjlWfpeSyVk/w640-h278/Flutter_Env_02.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;License 관련 다섯가지 정도의 라이선스 수용 질의에 응답 후 flutter doctor 를 수행하여 상태를 확인해보니 정상적인 결과가 나왔다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKBukJcvcpxtGy_q5-HVb9-d6TerfcDo_-cbJhdIb5flDGJSseFUr3hfrmRwoUl5MmzA2RN52LkoL8-pQwcm1YADINO_g84yPriRggkqt4Fc1j5ta8JNaI5Pfne-K3T8iZkw26nJLIHEw/s691/Flutter_Env_03.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;200&quot; data-original-width=&quot;691&quot; height=&quot;184&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKBukJcvcpxtGy_q5-HVb9-d6TerfcDo_-cbJhdIb5flDGJSseFUr3hfrmRwoUl5MmzA2RN52LkoL8-pQwcm1YADINO_g84yPriRggkqt4Fc1j5ta8JNaI5Pfne-K3T8iZkw26nJLIHEw/w640-h184/Flutter_Env_03.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/247543870288790739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/07/android-license-status-unknown.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/247543870288790739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/247543870288790739'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/07/android-license-status-unknown.html' title='Android license status unknown 문제 해결'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCb1SLbyHqOVMPNEGX78b4I3478UwRyWxmGED2yJMmm8LSNpijmF2bK4b0nIeoP-33xv3DNIJugh1yS1XjDCPptKL1rGHZp3_YMJzh-CJanee3Gl0SZY7akljlcFPL7KCc6YR1t6S5zGY/s72-w640-h428-c/Flutter_Env_00.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-6799150740279170753</id><published>2021-05-08T13:37:00.001+09:00</published><updated>2021-05-08T13:37:02.555+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="pip"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>[Python] 설치되어있는 모든 패키지 업데이트하기</title><content type='html'>&lt;p&gt;&lt;span style=&quot;color: #8a837e; font-family: se-nanumgothic, \\B098눔고딕, nanumgothic, sans-serif, Meiryo;&quot;&gt;&lt;span style=&quot;font-size: 13px; white-space: pre-wrap;&quot;&gt;pip freeze &amp;gt; pip_packages.txt
pip_packages.txt 파일을 열어 &quot;==&quot; 를 &quot;&amp;gt;=&quot; 로 변경
pip install -r pip_packages.txt --upgrade

PowerShell 을 이용한 방법
pip freeze | %{$_.split(&#39;==&#39;)[0]} | %{pip install --upgrade $_}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/6799150740279170753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/05/python.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/6799150740279170753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/6799150740279170753'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2021/05/python.html' title='[Python] 설치되어있는 모든 패키지 업데이트하기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-3145214694050928319</id><published>2020-12-29T23:08:00.000+09:00</published><updated>2020-12-29T23:08:29.234+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="HelloWorld"/><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><title type='text'> [Android][Kotlin] Hello World</title><content type='html'>&lt;p&gt;&amp;nbsp;코틀린을 이용하여 안드로이드 앱을 만들어 보기로했다.&lt;/p&gt;&lt;p&gt;그래서 새로운 언어를 배우는 첫 번째 관문인 Hello World를 도전해 봤다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Android Studio 4.1.1 버전을 이용하며 시도해보았다.&lt;/p&gt;&lt;p&gt;Kotlin plugin이 기본으로 설치가되어 있어서 별도로 설정해 주어야 할게 없었다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Android Studio 를 실생시켜 새로운 프로젝트를 만들었다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvuFg-CMup5Hf7lrC1uFgSv8aD3N34JtvJk6BIbIjA86TbZyQGeDzOIKXkweSOOKifJ18-O05My7KbQn-80hAjWnAuBeHNOCMFYF7wfBQDM0ioYov0jh3LiaPRUEe5ppYdsIPrzMd776I/s284/HelloWorls_0.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;131&quot; data-original-width=&quot;284&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvuFg-CMup5Hf7lrC1uFgSv8aD3N34JtvJk6BIbIjA86TbZyQGeDzOIKXkweSOOKifJ18-O05My7KbQn-80hAjWnAuBeHNOCMFYF7wfBQDM0ioYov0jh3LiaPRUEe5ppYdsIPrzMd776I/s0/HelloWorls_0.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&quot;Empty Project&quot;를 프로젝트를 생성하여 프로젝트 이름과 Kotlin 설정만 하였다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ_f8xlsS28D5sk0VOLznVH-4aKfWaGdaYuUdLTBtleqQSfWL9wkcqX-lwYVoacHpM6UTEKcYRr0sCHqZNKFA3LOMkaDEzcyG0eSWC_0E9GGCkhsRl_GUrHK-2Z0P1VZkKV03o2AVny9o/s792/HelloWorld_00.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;499&quot; data-original-width=&quot;792&quot; height=&quot;405&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ_f8xlsS28D5sk0VOLznVH-4aKfWaGdaYuUdLTBtleqQSfWL9wkcqX-lwYVoacHpM6UTEKcYRr0sCHqZNKFA3LOMkaDEzcyG0eSWC_0E9GGCkhsRl_GUrHK-2Z0P1VZkKV03o2AVny9o/w640-h405/HelloWorld_00.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;기본적으로 만들어진 프로젝트를 AVD를 이용하여 실행해 보았다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnsK4qfOGfQQCeCQ9-cyTinS3WtpTNv5cLkK-8mZvwiTZuh2bDK8F12-La4m3bfbZOaCj3ENKLV44Q5rGPUyOl39FnM3aE0mJuduCH2_GkxAmMXl6mPPDW_P3KlD1QHPuRK4td6iIX15s/s480/HelloWorld_01.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;239&quot; data-original-width=&quot;480&quot; height=&quot;199&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnsK4qfOGfQQCeCQ9-cyTinS3WtpTNv5cLkK-8mZvwiTZuh2bDK8F12-La4m3bfbZOaCj3ENKLV44Q5rGPUyOl39FnM3aE0mJuduCH2_GkxAmMXl6mPPDW_P3KlD1QHPuRK4td6iIX15s/w400-h199/HelloWorld_01.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;짜잔~ 앱이 실행되었다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7cFtTa1ApZabakKKjY25-stw68Utz4h54S-vNgRU9bHOa5ZKNX_dVirYEPR5hwhR_ftFioT98i8o3knUuE7I4EXrAWk4aeQE38vhvbYvIdNw7aDVKpGNNwnODPURkjTyE-sgdAG8PlsY/s644/HelloWorld_02.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;644&quot; data-original-width=&quot;393&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7cFtTa1ApZabakKKjY25-stw68Utz4h54S-vNgRU9bHOa5ZKNX_dVirYEPR5hwhR_ftFioT98i8o3knUuE7I4EXrAWk4aeQE38vhvbYvIdNw7aDVKpGNNwnODPURkjTyE-sgdAG8PlsY/w244-h400/HelloWorld_02.png&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이제 슬슬 공부를 해봐야겠다.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/3145214694050928319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2020/12/androidkotlin-hello-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/3145214694050928319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/3145214694050928319'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2020/12/androidkotlin-hello-world.html' title=' [Android][Kotlin] Hello World'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvuFg-CMup5Hf7lrC1uFgSv8aD3N34JtvJk6BIbIjA86TbZyQGeDzOIKXkweSOOKifJ18-O05My7KbQn-80hAjWnAuBeHNOCMFYF7wfBQDM0ioYov0jh3LiaPRUEe5ppYdsIPrzMd776I/s72-c/HelloWorls_0.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-2631753801295896414</id><published>2020-08-07T17:48:00.005+09:00</published><updated>2020-08-07T17:48:41.889+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MFC"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2019"/><category scheme="http://www.blogger.com/atom/ns#" term="VTK"/><category scheme="http://www.blogger.com/atom/ns#" term="VTK 9.0"/><title type='text'>  MFC 대화장자에 VTK 올리기</title><content type='html'>&lt;p&gt;이전 글(&lt;a href=&quot;https://neodreamer-dev.blogspot.com/2020/08/vtk.html&quot; target=&quot;_blank&quot;&gt;VTK 9.0.1 컴파일하기&lt;/a&gt;)에서 만들어진 VTK 빌드 결과물을 가지고 MFC 대화상자에 VTK를 올려보았다.&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;b&gt;Test를 위한&amp;nbsp;대화상자 생성&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;Visual Studio 2019버전으로 테스트를 위한 대화상자 기반의 프로젝트 TestVTK를 만들었다. 2019버전으로는 처음 프로젝트를 먄들어보았는데 이전 버전과 프로젝트를 만드는 방법이 다소 달라졌고 프로젝트 구성이 달라졌다. VTK를 64비트만 빌드하여 테스트 프로젝트도 64비트 구성만 하였다.&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;b&gt;VTK Property 파일 생성 및 구성 설정&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;Property Manager 에서 새로운 Property Sheet를 VTK_v9.0.1.props 파일로 만들었다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq0VsD6tdU6oef-enLXYX38SyZE7redhHP3bjXLjAulvhqNiwHVOScaiZsOWsOEK2Nf4NibMkNZYz5LYE91qWqbELXaQvb7oICkX-EOrX0ro_HXgv358w1kI-dXNE-HOqlQbzBQ7ZWAGA/s401/MFC_VTK_000.png&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;104&quot; data-original-width=&quot;401&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq0VsD6tdU6oef-enLXYX38SyZE7redhHP3bjXLjAulvhqNiwHVOScaiZsOWsOEK2Nf4NibMkNZYz5LYE91qWqbELXaQvb7oICkX-EOrX0ro_HXgv358w1kI-dXNE-HOqlQbzBQ7ZWAGA/s0/MFC_VTK_000.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4XrDt0wrLGrJVL4_ArJesZ7uN30WjvY65lap0ZhYyKU83CiklZSlaRR9fAl5O7bJfAyM6__PEAlqnBNJre2SqjeOjbQJQngtR6CiNfjE7OLgokQJEfB5JjhoSSRM9DoFSMqMwh8GkAu4/s382/MFC_VTK_001.png&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;210&quot; data-original-width=&quot;382&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4XrDt0wrLGrJVL4_ArJesZ7uN30WjvY65lap0ZhYyKU83CiklZSlaRR9fAl5O7bJfAyM6__PEAlqnBNJre2SqjeOjbQJQngtR6CiNfjE7OLgokQJEfB5JjhoSSRM9DoFSMqMwh8GkAu4/s0/MFC_VTK_001.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;VTK 경로를 하나의 설정으로 통일하여 관리하기 위해 VTK 빌드 결과물 경로를 User Macro에 VTK_DIR 이름으로 추가한다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXHFWBC-REJ2ErpyOn5GSZrwYf-QoX8iZ3Fq1oxyO5GaCfrGwK078fEVStPhp62l7vW4lMw-cmkYk2n6UJizzHvzWbkRurpaIPCObhINjD3SN_17WoyC2wZqBExrZmyy2xEnm6sXtmwxA/s510/MFC_VTK_002.png&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;160&quot; data-original-width=&quot;510&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXHFWBC-REJ2ErpyOn5GSZrwYf-QoX8iZ3Fq1oxyO5GaCfrGwK078fEVStPhp62l7vW4lMw-cmkYk2n6UJizzHvzWbkRurpaIPCObhINjD3SN_17WoyC2wZqBExrZmyy2xEnm6sXtmwxA/s0/MFC_VTK_002.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;VTK_DIR 매크로를 이용하여 Include 및 Library 경로에 VTK 경로를 설정한다.&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;VC++ Directories &amp;gt; Include Directories: $(VTK_DIR)\include\vtk-9.0&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;VC++ Directories &amp;gt; Library Directories:&amp;nbsp;$(VTK_DIR)\lib&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaA-PztzzzECxE7KC4zKRxGxdPTmOSakN-S0uYwPcOzMeAty-OzFRATUru7Cr8fgvUexwwXXAxo6Zo1faNokgSq3_efoFLwQSHXzGVla6Hll_xKFZgn6gLuhkoS1IxqrooVldWsn6-Q3c/s786/MFC_VTK_005.png&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;234&quot; data-original-width=&quot;786&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaA-PztzzzECxE7KC4zKRxGxdPTmOSakN-S0uYwPcOzMeAty-OzFRATUru7Cr8fgvUexwwXXAxo6Zo1faNokgSq3_efoFLwQSHXzGVla6Hll_xKFZgn6gLuhkoS1IxqrooVldWsn6-Q3c/s640/MFC_VTK_005.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;b&gt;VTK 사용을위한 기본 헤더 파일&amp;nbsp;작성&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;VTK 사용에 필요한 내용을 하나의 헤더파일로 작성을하여 관리하기위해 VTK_Prep.h 파일을 만들었다. 이 파일에는 VTK 초기화 코드와&amp;nbsp;VTK 사용에 필요한 헤더파일의 include와 빌드 속성에따른 lib 파일의 링크를 추가하였다. 라이브러리 파일은 모든 lib 파일을 추가하였고 Debug또는 Release에따라 로드되도록 하였다.&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;/p&gt;&lt;pre class=&quot;brush: cpp; ruler: true;&quot; style=&quot;background-color: #eeeeee; padding: 20px;&quot;&gt;#pragma once

#include &amp;lt;vtkAutoInit.h&amp;gt;
#define vtkRenderingCore_AUTOINIT 3(vtkRenderingOpenGL2, vtkInteractionStyle, vtkRenderingFreeType)
#define vtkRenderingContext2D_AUTOINIT 1(vtkRenderingContextOpenGL2)
#define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)

#include &amp;lt;vtkRenderWindow.h&amp;gt;
#include &amp;lt;vtkSmartPointer.h&amp;gt;
#include &amp;lt;vtkPolyData.h&amp;gt;
#include &amp;lt;vtkPolyDataMapper.h&amp;gt;
#include &amp;lt;vtkActor.h&amp;gt;
#include &amp;lt;vtkRenderer.h&amp;gt;
#include &amp;lt;vtkRenderWindowInteractor.h&amp;gt;
#include &amp;lt;vtkInteractorStyleTrackballCamera.h&amp;gt;

#include &amp;lt;vtkConeSource.h&amp;gt;

#include &amp;lt;vtkCamera.h&amp;gt;
#include &amp;lt;vtkLight.h&amp;gt;

#include &amp;lt;vtkPoints.h&amp;gt;
#include &amp;lt;vtkCellArray.h&amp;gt;
#include &amp;lt;vtkPolyData.h&amp;gt;

#ifdef _DEBUG
#pragma comment(lib, &quot;vtkChartsCore-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkCommonColor-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkCommonComputationalGeometry-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkCommonCore-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkCommonDataModel-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkCommonExecutionModel-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkCommonMath-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkCommonMisc-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkCommonSystem-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkCommonTransforms-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkDICOMParser-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkDomainsChemistry-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkdoubleconversion-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkexodusII-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkexpat-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersAMR-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersCore-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersExtraction-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersFlowPaths-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersGeneral-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersGeneric-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersGeometry-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersHybrid-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersHyperTree-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersImaging-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersModeling-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersParallel-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersParallelImaging-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersPoints-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersProgrammable-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersSelection-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersSMP-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersSources-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersStatistics-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersTexture-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersTopology-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersVerdict-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkfreetype-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkGeovisCore-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkgl2ps-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkglew-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkhdf5-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkhdf5_hl-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkImagingColor-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkImagingCore-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkImagingFourier-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkImagingGeneral-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkImagingHybrid-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkImagingMath-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkImagingMorphological-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkImagingSources-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkImagingStatistics-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkImagingStencil-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkInfovisCore-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkInfovisLayout-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkInteractionImage-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkInteractionStyle-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkInteractionWidgets-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOAMR-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOAsynchronous-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOCityGML-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOCore-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOEnSight-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOExodus-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOExport-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOExportGL2PS-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOExportPDF-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOGeometry-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOImage-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOImport-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOInfovis-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOLegacy-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOLSDyna-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOMINC-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOMotionFX-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOMovie-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIONetCDF-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOOggTheora-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOParallel-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOParallelXML-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOPLY-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOSegY-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOSQL-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOTecplotTable-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOVeraOut-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOVideo-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOXML-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkIOXMLParser-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkjpeg-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkjsoncpp-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtklibharu-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtklibproj-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtklibxml2-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkloguru-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtklz4-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtklzma-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkmetaio-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtknetcdf-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkogg-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkParallelCore-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkParallelDIY-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkpng-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkpugixml-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingAnnotation-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingContext2D-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingCore-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingFreeType-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingGL2PSOpenGL2-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingImage-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingLabel-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingLOD-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingOpenGL2-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingSceneGraph-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingUI-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingVolume-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingVolumeOpenGL2-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingVtkJS-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtksqlite-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtksys-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkTestingRendering-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtktheora-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtktiff-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkverdict-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkViewsContext2D-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkViewsCore-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkViewsInfovis-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkWrappingTools-9.0d.lib&quot;)
#pragma comment(lib, &quot;vtkzlib-9.0d.lib&quot;)
#else
#pragma comment(lib, &quot;vtkChartsCore-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkCommonColor-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkCommonComputationalGeometry-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkCommonCore-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkCommonDataModel-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkCommonExecutionModel-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkCommonMath-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkCommonMisc-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkCommonSystem-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkCommonTransforms-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkDICOMParser-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkDomainsChemistry-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkdoubleconversion-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkexodusII-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkexpat-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersAMR-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersCore-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersExtraction-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersFlowPaths-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersGeneral-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersGeneric-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersGeometry-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersHybrid-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersHyperTree-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersImaging-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersModeling-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersParallel-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersParallelImaging-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersPoints-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersProgrammable-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersSelection-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersSMP-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersSources-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersStatistics-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersTexture-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersTopology-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkFiltersVerdict-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkfreetype-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkGeovisCore-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkgl2ps-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkglew-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkhdf5-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkhdf5_hl-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkImagingColor-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkImagingCore-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkImagingFourier-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkImagingGeneral-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkImagingHybrid-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkImagingMath-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkImagingMorphological-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkImagingSources-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkImagingStatistics-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkImagingStencil-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkInfovisCore-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkInfovisLayout-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkInteractionImage-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkInteractionStyle-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkInteractionWidgets-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOAMR-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOAsynchronous-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOCityGML-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOCore-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOEnSight-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOExodus-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOExport-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOExportGL2PS-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOExportPDF-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOGeometry-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOImage-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOImport-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOInfovis-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOLegacy-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOLSDyna-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOMINC-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOMotionFX-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOMovie-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIONetCDF-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOOggTheora-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOParallel-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOParallelXML-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOPLY-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOSegY-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOSQL-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOTecplotTable-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOVeraOut-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOVideo-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOXML-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkIOXMLParser-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkjpeg-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkjsoncpp-9.0.lib&quot;)
#pragma comment(lib, &quot;vtklibharu-9.0.lib&quot;)
#pragma comment(lib, &quot;vtklibproj-9.0.lib&quot;)
#pragma comment(lib, &quot;vtklibxml2-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkloguru-9.0.lib&quot;)
#pragma comment(lib, &quot;vtklz4-9.0.lib&quot;)
#pragma comment(lib, &quot;vtklzma-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkmetaio-9.0.lib&quot;)
#pragma comment(lib, &quot;vtknetcdf-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkogg-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkParallelCore-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkParallelDIY-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkpng-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkpugixml-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingAnnotation-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingContext2D-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingCore-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingFreeType-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingGL2PSOpenGL2-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingImage-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingLabel-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingLOD-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingOpenGL2-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingSceneGraph-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingUI-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingVolume-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingVolumeOpenGL2-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkRenderingVtkJS-9.0.lib&quot;)
#pragma comment(lib, &quot;vtksqlite-9.0.lib&quot;)
#pragma comment(lib, &quot;vtksys-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkTestingRendering-9.0.lib&quot;)
#pragma comment(lib, &quot;vtktheora-9.0.lib&quot;)
#pragma comment(lib, &quot;vtktiff-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkverdict-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkViewsContext2D-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkViewsCore-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkViewsInfovis-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkWrappingTools-9.0.lib&quot;)
#pragma comment(lib, &quot;vtkzlib-9.0.lib&quot;)
#endif
&lt;/pre&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;이렇게 작성한 Property Sheet 파일은 경로가 수정될 경우 VTK_DIR 매크로만 수정을하면 되며 사용하는 Object가 추가될 경우 VTK_Prep.h 파일만 수정하면 되며 다른 프로젝트에 적용시 이 두 파일을 적용을 하면 된다.&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;b&gt;프로젝트 코드 작성&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;리소스 뷰의 대화상자 리소스에 Picture Control을 올리고 이름을 IDC_STATIC_VTK_FRAME으로 설정하고 속성중 Type를 Owner Draw로 설정한다. 그리고 아래과 같이 코드를 추가하였&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;/p&gt;&lt;pre class=&quot;brush: cpp; ruler: true;&quot; style=&quot;background-color: #eeeeee; padding: 20px;&quot;&gt;// Header 파일
public:
	vtkSmartPointer&amp;lt; vtkRenderWindow &amp;gt;		m_pVTKRenderWnd;
	void initVTKWindow(void* hWnd);
	void resizeVTKWindow();

// Source 파일
void CTestVTKDlg::initVTKWindow(void* hWnd)
{
	if (m_pVTKRenderWnd == nullptr)
	{
		// Interactor 생성
		vtkSmartPointer&amp;lt;vtkRenderWindowInteractor&amp;gt; pInteractor =
			vtkSmartPointer&amp;lt;vtkRenderWindowInteractor&amp;gt;::New();

		// Trackball Camera 인터랙션 스타일 적용
		pInteractor-&amp;gt;SetInteractorStyle(
			vtkSmartPointer&amp;lt;vtkInteractorStyleTrackballCamera&amp;gt;::New());

		// Renderer 생성
		vtkSmartPointer&amp;lt;vtkRenderer&amp;gt; pRenderer =
			vtkSmartPointer&amp;lt;vtkRenderer&amp;gt;::New();
		pRenderer-&amp;gt;SetBackground(0.0, 0.0, 0.0);

		// RenderWindow 생성 후 Dialog 핸들, Interactor, Renderer 설정
		m_pVTKRenderWnd = vtkSmartPointer&amp;lt;vtkRenderWindow&amp;gt;::New();
		m_pVTKRenderWnd-&amp;gt;SetParentId(hWnd);
		m_pVTKRenderWnd-&amp;gt;SetInteractor(pInteractor);
		m_pVTKRenderWnd-&amp;gt;AddRenderer(pRenderer);
		m_pVTKRenderWnd-&amp;gt;Render();
	}
}

void CTestVTKDlg::resizeVTKWindow()
{
	CRect rc;
	GetDlgItem(IDC_STATIC_VTK_FRAME)-&amp;gt;GetClientRect(&amp;amp;rc);
	m_pVTKRenderWnd-&amp;gt;SetSize(rc.Width(), rc.Height());
}

BOOL CTestVTKDlg::OnInitDialog()
{
	|

	if (GetDlgItem(IDC_STATIC_VTK_FRAME))
	{
		initVTKWindow(GetDlgItem(IDC_STATIC_VTK_FRAME)-&amp;gt;GetSafeHwnd());
		resizeVTKWindow();
	}

	return TRUE;  // return TRUE  unless you set the focus to a control
}
&lt;/pre&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;b&gt;프로젝트 실행&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;이렇게 작성된 프로젝트를 실행하면 dll파일이 없다는 에러 메시지가 출력되는데 프로젝트의 속성에 Debugging 페이지의 Environment 항목에 VTK 빌드 결과물의 bin 폴더를 지정해준다.&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;Debugging &amp;gt; Environment:&amp;nbsp;PATH=$(VTK_DIR)\bin&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfPp6NAKBpJNJnjIM01VKFTAXpFGoOjYzjp5N0lLy3TcaP2-TCGz02W3QIiBojwkBbREhzzm3MAwzBacxqEU4WPnPNuve-wSAY_VOtDJzri5ADmhxFHqcjQCgH5C8gYq2PzyU5zMWS5Hg/s776/MFC_VTK_007.png&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;259&quot; data-original-width=&quot;776&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfPp6NAKBpJNJnjIM01VKFTAXpFGoOjYzjp5N0lLy3TcaP2-TCGz02W3QIiBojwkBbREhzzm3MAwzBacxqEU4WPnPNuve-wSAY_VOtDJzri5ADmhxFHqcjQCgH5C8gYq2PzyU5zMWS5Hg/s640/MFC_VTK_007.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;설정 후 프로그젝트를 실행하면 대화상자의 Picture Control에 검은색 배경이 보이면 정상적으로 실행이 된 것이다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJSClWX34jHXvE8TB3_hQG9-cK742al5jook249nyYSmcIj5RJKHBLljHh2_hi-lsakK43laPCcBoWWqgUssrmifbvMgLxDGssldqmTc2BLXyr1cvovnDWDcZMETOCQUC-mgbYrBLa_uE/s874/MFC_VTK_006.png&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;601&quot; data-original-width=&quot;874&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJSClWX34jHXvE8TB3_hQG9-cK742al5jook249nyYSmcIj5RJKHBLljHh2_hi-lsakK43laPCcBoWWqgUssrmifbvMgLxDGssldqmTc2BLXyr1cvovnDWDcZMETOCQUC-mgbYrBLa_uE/s640/MFC_VTK_006.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;b&gt;Cone 그려보기&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;대화 상자에 버튼을 올리고 버튼의 이벤트 핸들러에 아래와 같이 코드를 추가한다.&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;/p&gt;&lt;pre class=&quot;brush: cpp; ruler: true;&quot; style=&quot;background-color: #eeeeee; padding: 20px;&quot;&gt;void CTestVTKDlg::OnBnClickedButtonCone()
{
	// Create a cone source
	vtkSmartPointer&amp;lt;vtkConeSource&amp;gt; pConeSource =
		vtkSmartPointer&amp;lt;vtkConeSource&amp;gt;::New();

	// Create a mapper and actor
	vtkSmartPointer&amp;lt;vtkPolyDataMapper&amp;gt; pMapper =
		vtkSmartPointer&amp;lt;vtkPolyDataMapper&amp;gt;::New();
	pMapper-&amp;gt;SetInputConnection(pConeSource-&amp;gt;GetOutputPort());

	vtkSmartPointer&amp;lt;vtkActor&amp;gt; pActor =
		vtkSmartPointer&amp;lt;vtkActor&amp;gt;::New();
	pActor-&amp;gt;SetMapper(pMapper);

	// Visualize
	vtkSmartPointer&amp;lt;vtkRenderer&amp;gt; pRenderer =
		vtkSmartPointer&amp;lt;vtkRenderer&amp;gt;::New();
	pRenderer-&amp;gt;AddActor(pActor);
	pRenderer-&amp;gt;SetBackground(0.1, 0.2, 0.3);
	pRenderer-&amp;gt;ResetCamera();

	// Rendering
	m_pVTKRenderWnd-&amp;gt;AddRenderer(pRenderer);
	m_pVTKRenderWnd-&amp;gt;Render();
}&lt;/pre&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;추가후 실행하면 아래와같이 각뿔 형태의 콘이 출력된다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEyGoKCZkoSq2hAiSeKFDQgXAJ2FpmYjmUFMyHDEJMYjp7WoIfNXftu6HrEJwadIUKX2GwMXrweRuhRNCo2kCm92_IZBGDuDYrbQewWak1dA_25TE8Fq4dT8TnpKW4z-RL_39wI9aFSHA/s874/MFC_VTK_008.png&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;601&quot; data-original-width=&quot;874&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEyGoKCZkoSq2hAiSeKFDQgXAJ2FpmYjmUFMyHDEJMYjp7WoIfNXftu6HrEJwadIUKX2GwMXrweRuhRNCo2kCm92_IZBGDuDYrbQewWak1dA_25TE8Fq4dT8TnpKW4z-RL_39wI9aFSHA/s640/MFC_VTK_008.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;참고한 서적이나 인터넷의 자료에는 프로젝트의 메모리 누수를 방지하기위해서 VTK Dll들을 Delay Load를 설정해야 한다고 하였으나 본인이 테스트한 VTK 9.0.1 과 Visual Studio 2019버전에서의 테스트에서는 Delay Load를 설정하지 않아도 메모리 누수가 발생하지 않았다.&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;참고 자료&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-left: 2em; margin-top: 0px;&quot;&gt;VTK 프로그래밍 - 일진사&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-left: 2em; margin-top: 0px;&quot;&gt;&lt;a href=&quot;https://luckygg.tistory.com/130&quot; style=&quot;border-bottom: 1px dashed rgb(132, 0, 0); color: black; text-decoration-line: none;&quot;&gt;https://luckygg.tistory.com/130&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br style=&quot;background-color: white; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px;&quot; /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/2631753801295896414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2020/08/vtk-9.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/2631753801295896414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/2631753801295896414'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2020/08/vtk-9.html' title='  MFC 대화장자에 VTK 올리기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq0VsD6tdU6oef-enLXYX38SyZE7redhHP3bjXLjAulvhqNiwHVOScaiZsOWsOEK2Nf4NibMkNZYz5LYE91qWqbELXaQvb7oICkX-EOrX0ro_HXgv358w1kI-dXNE-HOqlQbzBQ7ZWAGA/s72-c/MFC_VTK_000.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-2964276529727101841</id><published>2020-08-07T14:37:00.001+09:00</published><updated>2020-08-07T17:35:01.948+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2015"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2019"/><category scheme="http://www.blogger.com/atom/ns#" term="VTK"/><category scheme="http://www.blogger.com/atom/ns#" term="VTK 9.0"/><title type='text'>VTK 9.0.1 컴파일하기</title><content type='html'>&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px;&quot;&gt;오랜만에 버전업이 된 VTK를 빌드해 보았다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; margin-bottom: 0px; margin-top: 0px;&quot;&gt;버전이 올라감에따라 높은 버전의 컴파일러(Visual Studio 2015 이상)를 요구하였지만 컴파일 설정은 이전보다 단순화 되었다.&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; margin-bottom: 0px; margin-top: 0px;&quot;&gt;빌드는 Visual Studio 2015 버전과 Visual Studio 2019 버전을 사용하였다.&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; margin-bottom: 0px; margin-top: 0px;&quot;&gt;다운로드 받은 VTK v9.0.1 소스를 작업 폴더에 압축해제 한 후, CMake v3.18.1 버전을 이용하여 구성을 하였다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi05junwKoiRxFIG_MKTJBS4tKkhA_8alroaCOew66uPsPEeNUBEpmXx5FU4EhWvkhut15XYaShU6fqlQ3FwxNbWuAYU4IOJEs1I6s-AaO7_nX3SilfeRo5nUhZjj6hH72v-Ut1ZoxfysQ/s361/VTK_Build_000.png&quot; imageanchor=&quot;1&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;117&quot; data-original-width=&quot;361&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi05junwKoiRxFIG_MKTJBS4tKkhA_8alroaCOew66uPsPEeNUBEpmXx5FU4EhWvkhut15XYaShU6fqlQ3FwxNbWuAYU4IOJEs1I6s-AaO7_nX3SilfeRo5nUhZjj6hH72v-Ut1ZoxfysQ/s0/VTK_Build_000.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p style=&quot;clear: none; float: none; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; margin-bottom: 0px; margin-top: 0px; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; margin-bottom: 0px; margin-top: 0px;&quot;&gt;컴파일러는 Visual Studio 2019 버전으로 64비트를 선택하였다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju4MHDaexwKTt4yTee3hkPMA-BHXbVmJeUH5a06qqddDMfYgi9lqbjmjyHBQs3jg0ZBBgpesmDNsWmjNDAuYSG1rPtshcow8wzsouCfxBGVfn7KW0KDWsxtZu3RpJLMqi2wmP3Me0rvQE/s502/VTK_Build_001.png&quot; imageanchor=&quot;1&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;379&quot; data-original-width=&quot;502&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju4MHDaexwKTt4yTee3hkPMA-BHXbVmJeUH5a06qqddDMfYgi9lqbjmjyHBQs3jg0ZBBgpesmDNsWmjNDAuYSG1rPtshcow8wzsouCfxBGVfn7KW0KDWsxtZu3RpJLMqi2wmP3Me0rvQE/s0/VTK_Build_001.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p style=&quot;clear: none; float: none; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; margin-bottom: 0px; margin-top: 0px;&quot;&gt;﻿설정은 설치 경로와 Python 버전을 3으로 설정한 것 밖에 없다.&lt;/p&gt;&lt;p style=&quot;clear: none; float: none; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; margin-bottom: 0px; margin-top: 0px;&quot;&gt;CMAKE_INSTALL_PREFIX:&amp;nbsp;D:/DevWork/VTK/VTK-9.0.1/VS2019_x64/install&lt;/p&gt;&lt;p style=&quot;clear: none; float: none; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; margin-bottom: 0px; margin-top: 0px;&quot;&gt;VTK_PYTHON_VERSION: 3&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNCkkJ1E2XoSh81dY274q4C2kGBVFDgyrtwMVNMLT-A0AZ3Ga2kELASEyRHCKK50J1DFqKUrguJ3ossIBPeNrS3jjlND3Rbj9ZxdBmZh68pt1WeqjvTFE9sbW9vrkOcbxA4nSjYzxK2JY/s993/VTK_Build_002.png&quot; imageanchor=&quot;1&quot; style=&quot;display: block; padding: 1em 0px;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;993&quot; data-original-width=&quot;984&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNCkkJ1E2XoSh81dY274q4C2kGBVFDgyrtwMVNMLT-A0AZ3Ga2kELASEyRHCKK50J1DFqKUrguJ3ossIBPeNrS3jjlND3Rbj9ZxdBmZh68pt1WeqjvTFE9sbW9vrkOcbxA4nSjYzxK2JY/s640/VTK_Build_002.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; margin-bottom: 0px; margin-top: 0px;&quot;&gt;﻿﻿빌드는 ALL_BUILD 프로젝트와 INSTALL 프로젝트에 대하여 Debug와 Release 만 빌드를 수행하였다.&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; margin-bottom: 0px; margin-top: 0px;&quot;&gt;빌드는 시간은 많이 소요되었지만 에러없이 결과물을 얻을 수 있었다.&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; margin-bottom: 0px; margin-top: 0px;&quot;&gt;결과물로는&amp;nbsp;CMAKE_INSTALL_PREFIX 경로에 여러 폴더가 만들어지고 dll 과 lib 그리고 헤더파일이 만들어진다.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/2964276529727101841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2020/08/vtk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/2964276529727101841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/2964276529727101841'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2020/08/vtk.html' title='VTK 9.0.1 컴파일하기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi05junwKoiRxFIG_MKTJBS4tKkhA_8alroaCOew66uPsPEeNUBEpmXx5FU4EhWvkhut15XYaShU6fqlQ3FwxNbWuAYU4IOJEs1I6s-AaO7_nX3SilfeRo5nUhZjj6hH72v-Ut1ZoxfysQ/s72-c/VTK_Build_000.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-1669942118372884304</id><published>2020-07-22T20:00:00.000+09:00</published><updated>2020-07-22T20:00:48.322+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="barcode"/><category scheme="http://www.blogger.com/atom/ns#" term="MFC"/><category scheme="http://www.blogger.com/atom/ns#" term="qrcode"/><category scheme="http://www.blogger.com/atom/ns#" term="ZXing"/><category scheme="http://www.blogger.com/atom/ns#" term="ZXing-cpp"/><title type='text'>ZXing-cpp 라이브러리를 이용한 QRCode 인식</title><content type='html'>&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;font face=&quot;맑은 고딕, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 13px;&quot;&gt;ZXing-cpp(https://github.com/glassechidna/zxing-cpp) 라이브러리를 이용한 QRCode 인식을 해 보았다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;font face=&quot;맑은 고딕, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 13px;&quot;&gt;그간 ZXing-cpp 라이브러리를 보다 쉽게 사용하기 위해 OpenCV 라이브러리를 포함하여 만들려 했으나 굳이 그럴 필요 없이 기본 사양으로 만들어 OpenCV Raw 데이터를 이용하여 바코드 검사를 수행하도록 해 보았다. 다행스럽게도 동작이 잘 되었다. 디버그 모드에서 인식속도와 인식률은 떨어지지만 동작은 잘 되었다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;

&lt;pre class=&quot;brush: cpp; ruler: true;&quot;&gt;try
{
	zxing::ArrayRef&amp;lt;char&amp;gt; greyData((char*)pBuff, nWidth * nHeight);
	zxing::Ref&amp;lt; zxing::LuminanceSource &amp;gt; source(new zxing::GreyscaleLuminanceSource(greyData, nWidth, nHeight, 0, 0, nWidth, nHeight));

	zxing::Ref&amp;lt; zxing::Binarizer&amp;gt; binarizer(new zxing::GlobalHistogramBinarizer(source));
	zxing::Ref&amp;lt; zxing::BinaryBitmap&amp;gt; bitmap(new zxing::BinaryBitmap(binarizer));

	zxing::Ref&amp;lt; zxing::Reader &amp;gt; reader;
	reader.reset(new zxing::MultiFormatReader);
	zxing::Ref&amp;lt; zxing::Result&amp;gt; result(reader-&amp;gt;decode(bitmap, zxing::DecodeHints(zxing::DecodeHints::DEFAULT_HINT)));

	zxing::Ref&amp;lt; zxing::String &amp;gt; ResultString = result-&amp;gt;getText();
	if ( ResultString-&amp;gt;getText().length() &amp;gt; 0 )
	{
		++nDetectedBarcodeCount;
		strncpy_s( szResult, nBufSize, ResultString-&amp;gt;getText().c_str(), _TRUNCATE );

		strcat_s(szExtraResult, nBufSize, zxing::BarcodeFormat::barcodeFormatNames[result-&amp;gt;getBarcodeFormat().value]);
		
		// Get result point count
		char szPoint[20];
		zxing::ArrayRef&amp;lt; zxing::Ref&amp;lt;zxing::ResultPoint&amp;gt; &amp;gt; resultPoints = result-&amp;gt;getResultPoints();
		if ( resultPoints-&amp;gt;size() &amp;gt; 0 ) strcat_s(szExtraResult, nBufSize, &quot;|&quot;);
		for (int p = 0; p &amp;lt; resultPoints-&amp;gt;size(); p++)
		{
			sprintf_s(szPoint, 20, &quot;%.1fx%.1f&quot;, resultPoints[p]-&amp;gt;getX(), resultPoints[p]-&amp;gt;getY());

			if (p &amp;gt; 0) strcat_s(szExtraResult, nBufSize, &quot;,&quot;); // Add Seprator
			strcat_s(szExtraResult, nBufSize, szPoint);
		}
	}
}
catch (const zxing::ReaderException&amp;amp; e)
{
	char szLog[2048] = { 0 };
	sprintf_s(szLog, _TRUNCATE, &quot;zxing::ReaderException: %s&quot;, e.what());
	CZXingBarcode::writeLog(szLog);

	nErrorCode = -101;
}
catch (const zxing::IllegalArgumentException&amp;amp; e)
{
	char szLog[2048] = { 0 };
	sprintf_s(szLog, _TRUNCATE, &quot;zxing::IllegalArgumentException: %s&quot;, e.what());
	CZXingBarcode::writeLog(szLog);

	nErrorCode = -102;
}
catch (const zxing::Exception&amp;amp; e)
{
	char szLog[2048] = { 0 };
	sprintf_s(szLog, _TRUNCATE, &quot;zxing::Exception: %s&quot;, e.what());
	CZXingBarcode::writeLog(szLog);

	nErrorCode = -103;
}
catch (const std::exception&amp;amp; e)
{
	char szLog[2048] = { 0 };
	sprintf_s(szLog, _TRUNCATE, &quot;std::exception: %s&quot;, e.what());
	CZXingBarcode::writeLog(szLog);

	nErrorCode = -104;
}
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/1669942118372884304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2020/07/zxing-cpp-qrcode.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/1669942118372884304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/1669942118372884304'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2020/07/zxing-cpp-qrcode.html' title='ZXing-cpp 라이브러리를 이용한 QRCode 인식'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-4334788794749976776</id><published>2020-06-26T13:03:00.001+09:00</published><updated>2020-06-26T13:03:36.627+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="lambda"/><category scheme="http://www.blogger.com/atom/ns#" term="recursive"/><category scheme="http://www.blogger.com/atom/ns#" term="람다"/><category scheme="http://www.blogger.com/atom/ns#" term="재귀호출"/><title type='text'>C++ 람다(Lambda) 함수 재귀호출</title><content type='html'>람다 함수를 재귀호출을 하려면 함수를 auto로 생성하면 안되고 std::function으로 생성해야 한다.&lt;br/&gt;

&lt;pre class=&quot;brush: cpp; ruler: true;&quot;&gt;	std::function&amp;lt; int (int)&amp;gt; fibonacci = [&amp;amp;fibonacci](int nValue) -&amp;gt; int
	{
		if ( nValue &amp;lt;= 0 ) return 0;
		if ( nValue == 1 ) return 1;

		return fibonacci(nValue - 1) + fibonacci(nValue - 2);
	};

	int nResult = fibonacci(10);
	TRACE(&quot;Fibonacci: %d\n&quot;, nResult);
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/4334788794749976776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2020/06/c-lambda.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/4334788794749976776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/4334788794749976776'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2020/06/c-lambda.html' title='C++ 람다(Lambda) 함수 재귀호출'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-4617729030776757536</id><published>2020-06-18T21:37:00.001+09:00</published><updated>2020-06-18T21:37:57.140+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MFC"/><category scheme="http://www.blogger.com/atom/ns#" term="UAC"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>[MFC] 관리자 권한을 필요로 하는 프로그램 만들기</title><content type='html'>&lt;div&gt;관리자 권한이 필요한 프로그램을 만들어야 할 일이 있어 만드는 방법을 찾아보았다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;방법은 간단하였다. Visual Studio의 프로젝트 속성에서 Linker의 Manifest File 설정 항목중 UAC Execution Level 을 &quot;requireAdministrator&quot; 로 설정해 주면된다.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwX29M-lp48MmJG1_L6CLxLz5uPlyNz9Nr8Eo5o_JADU6ttROUSayaWAV7sAhZbZczxqSBRdQY-rYhmIh9ZGqS9NJ33TvYTM4qWYlYbiFcEhvTdgIxJd42x33QWrPqZ3sa_-Mufm-zQXQ/s822/UAC_01_Settings.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;581&quot; data-original-width=&quot;822&quot; height=&quot;443&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwX29M-lp48MmJG1_L6CLxLz5uPlyNz9Nr8Eo5o_JADU6ttROUSayaWAV7sAhZbZczxqSBRdQY-rYhmIh9ZGqS9NJ33TvYTM4qWYlYbiFcEhvTdgIxJd42x33QWrPqZ3sa_-Mufm-zQXQ/w625-h443/UAC_01_Settings.png&quot; width=&quot;625&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;이렇게 만들어진 프로그램은 프로그램 아이콘에 방패모양이 오버레이된다.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7S0OFoLgd5PzGPv-vgVvrt7evREvJXznMspeQtJR1EHYpC-Gmzbtk7YLgbc03aBOJiIEfjkWgSF3kDTz_P66cBDDhf7qqQw668SQKwlh87LcPOazzpkmBC8Ui9T8frhs6vx-9ke1WdK4/s125/UAC_03_Icon.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;125&quot; data-original-width=&quot;108&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7S0OFoLgd5PzGPv-vgVvrt7evREvJXznMspeQtJR1EHYpC-Gmzbtk7YLgbc03aBOJiIEfjkWgSF3kDTz_P66cBDDhf7qqQw668SQKwlh87LcPOazzpkmBC8Ui9T8frhs6vx-9ke1WdK4/&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Visual Studio 에서 프로젝트를 실행하려 할 경우 관리자 권한이 필요하여 아래 이미지처럼 관리자 계정으로 다시 시작을 요하는 메시지 박스가 나온다.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS1xsE9ND-lzHR9Tj6zIT7rbBoZzHPopc05DIaVey3rBzfS_8SBEbnXVQEtc4YXOts5VaPIFOK9uV_vZrCorvJpNwSpZhhIZFEorUqSLFlSoKR5miiTTKLmkDX4XZZI-ZwrhcU8_t3q-E/s542/UAC_00_Restart.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;272&quot; data-original-width=&quot;542&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS1xsE9ND-lzHR9Tj6zIT7rbBoZzHPopc05DIaVey3rBzfS_8SBEbnXVQEtc4YXOts5VaPIFOK9uV_vZrCorvJpNwSpZhhIZFEorUqSLFlSoKR5miiTTKLmkDX4XZZI-ZwrhcU8_t3q-E/s320/UAC_00_Restart.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;재시작 메뉴를 선택하면 현재 기동중인 Visual Studio가 종료되고 새로운 Visual Studio가 실행되며 관리자 권한은 요청하는 메시지 박스가 나타난다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;확인 후 실행된 Visual Studio은 아래처럼 관리자 권한으로 실행되었다.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_2D-vq0bD1Pjwziy4aPmJziUqT-1zifihLoA9HsueghVZeIow_Y9dVQuB0lN2eIkD3PHX81qr4tnO2hPOgBzqMu3QASB_xpPuzH0ivmgp9Q3LCm2CRe3YDT4074-SJJt-Ef-_7C2QPD8/s403/UAC_02_VSAdmin.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;42&quot; data-original-width=&quot;403&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_2D-vq0bD1Pjwziy4aPmJziUqT-1zifihLoA9HsueghVZeIow_Y9dVQuB0lN2eIkD3PHX81qr4tnO2hPOgBzqMu3QASB_xpPuzH0ivmgp9Q3LCm2CRe3YDT4074-SJJt-Ef-_7C2QPD8/s320/UAC_02_VSAdmin.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;이제 프로젝트를 실행할 수 있다.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/4617729030776757536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2020/06/mfc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/4617729030776757536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/4617729030776757536'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2020/06/mfc.html' title='[MFC] 관리자 권한을 필요로 하는 프로그램 만들기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwX29M-lp48MmJG1_L6CLxLz5uPlyNz9Nr8Eo5o_JADU6ttROUSayaWAV7sAhZbZczxqSBRdQY-rYhmIh9ZGqS9NJ33TvYTM4qWYlYbiFcEhvTdgIxJd42x33QWrPqZ3sa_-Mufm-zQXQ/s72-w625-h443-c/UAC_01_Settings.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-9104308898574050600</id><published>2020-05-29T17:33:00.003+09:00</published><updated>2020-06-26T13:05:08.735+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CTreeCtrl"/><category scheme="http://www.blogger.com/atom/ns#" term="MFC"/><title type='text'>[MFC] TreeCtrl 전체 노드 확장하기</title><content type='html'>&lt;pre class=&quot;brush: cpp; ruler: true;&quot;&gt;
	// 전체 Tree 확장
	std::function&lt; void (HTREEITEM) &gt; ldExpand = [&amp;](HTREEITEM hItem)
	{
		if ( m_treeLibrary.ItemHasChildren(hItem) )
		{
			m_treeLibrary.Expand( hItem, TVE_EXPAND );
			HTREEITEM hChild = m_treeLibrary.GetChildItem(hItem);
			if ( hItem != nullptr ) ldExpand(hChild);
		}

		hItem = m_treeLibrary.GetNextSiblingItem(hItem);
		if ( hItem != nullptr ) ldExpand(hItem);
	};

	HTREEITEM hRootItem = m_treeLibrary.GetRootItem();
	ldExpand(hRootItem);
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/9104308898574050600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2020/05/mfc-treectrl.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/9104308898574050600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/9104308898574050600'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2020/05/mfc-treectrl.html' title='[MFC] TreeCtrl 전체 노드 확장하기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-3401892633180011763</id><published>2019-03-06T13:17:00.000+09:00</published><updated>2019-03-06T13:17:10.450+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CFormView"/><category scheme="http://www.blogger.com/atom/ns#" term="Document/View Architecture"/><category scheme="http://www.blogger.com/atom/ns#" term="MFC"/><category scheme="http://www.blogger.com/atom/ns#" term="SDI"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual C++"/><title type='text'>[MFC] Document/View Architecture를 사용하지 않고 FormView 사용하기</title><content type='html'>&lt;div style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px;&quot;&gt;
CFormView를 이용한 간단한 프로그램을 만들 때 Visual C++ 에서 제공하는 Document/View Architecture를 사용할 경우 불필요한 작업이 많은 것 같아 이를 사용하지 않고 만드는 방법을 알아보았다.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px;&quot;&gt;
SDI 프로젝트를 만들때 Document/View Architecture 옵션을 제거하고 프로젝트를 만든 후 기본적으로 만들어지는 View외에 추가로 CFormView를 상속받는 View을 하나 만들어 기존 View와 교체를 하면 가능하였다.&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px;&quot;&gt;
하지만 새로운 View를 만들어 교체를 할 때 일반 변수를 이용하여 Stack에 만들경우 프로그램 종료시 에러가 발생하였다. 이미 해제된 View를 다시한 번 삭제하려 하기때문인 것 같았다. Heap 메모리에 만들어지도록 하면 문제가 없었다.&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px;&quot;&gt;
&lt;pre class=&quot;brush: cpp; ruler: true;&quot;&gt;//CChildFormView.h
class CChildFormView : public CFormView
{
public:  // Change constructor to public. It is private by default
 CChildFormView();           // protected constructor used by dynamic creation
 virtual ~CChildFormView();
};




//CMainFrm.h
#include &quot;ChildFormView.h&quot;

class CMainFrame : public CFrameWnd
{
protected:  // control bar embedded members
 CChildFormView    *m_pWndView;
};




//CMainFrm.cpp
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
 if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
  return -1;

 // First, build the view context structure
 CCreateContext ccx;

 // Designate the class from which to build the view
 ccx.m_pNewViewClass = RUNTIME_CLASS(CChildFormView);

 // Using the structure, create a view
 m_pWndView = DYNAMIC_DOWNCAST(CChildFormView, this-&amp;gt;CreateView(&amp;amp;ccx));

 // Did we succeed ?
 if (!m_pWndView)
 {
  TRACE0(&quot;Creation of view failed\n&quot;);
  return -1;
 }

 // Do layout recalc
 RecalcLayout();

 // Show the view and do an initial update
 m_pWndView-&amp;gt;ShowWindow(SW_SHOW);
 m_pWndView-&amp;gt;OnInitialUpdate();

 // Set this view active
 SetActiveView(m_pWndView);

 // Order it to resize the parent window to fit
 m_pWndView-&amp;gt;ResizeParentToFit(FALSE);

 // create a view to occupy the client area of the frame
//  if (!m_wndView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL))
//  {
//   TRACE0(&quot;Failed to create view window\n&quot;);
//   return -1;
//  }

 if (!m_wndStatusBar.Create(this))
 {
  TRACE0(&quot;Failed to create status bar\n&quot;);
  return -1;      // fail to create
 }
 m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));

 return 0;
}
&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.codeproject.com/Articles/5445/Using-views-effectively-without-the-doc-view-overh&quot; target=&quot;_blank&quot;&gt;https://www.codeproject.com/Articles/5445/Using-views-effectively-without-the-doc-view-overh&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/3401892633180011763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2019/03/mfc-documentview-architecture-formview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/3401892633180011763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/3401892633180011763'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2019/03/mfc-documentview-architecture-formview.html' title='[MFC] Document/View Architecture를 사용하지 않고 FormView 사용하기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-4585010886522322298</id><published>2019-03-06T13:03:00.001+09:00</published><updated>2019-03-06T13:03:29.459+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Debugging"/><category scheme="http://www.blogger.com/atom/ns#" term="Memory"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual C++"/><title type='text'>Visual C++ 디버깅 메모리 상태</title><content type='html'>0xcccccccc (3435973836)&lt;br /&gt;
할당된 Stack 메모리를 초기화 하지 않을 경우 채워지는 값&lt;br /&gt;
해당 값은 어셈블리 __asm int 3(break)와 동일하여 이 영역을 접근하면 break point에 적중된다.&lt;br /&gt;
When the code is compiled with the /GZ option, uninitialized variables are automatically assigned to this value (at byte level).&lt;br /&gt;
&lt;br /&gt;
0xcdcdcdcd (3452816845)&lt;br /&gt;
할당된 Heap 메모리를 초기화 하지 않을 경우 채워지는 값&lt;br /&gt;
Clean Memory: Allocated memory via malloc or new but never written by the application.&lt;br /&gt;
&lt;br /&gt;
0xdddddddd (3722304989)&lt;br /&gt;
0xfeeefeee (4277075694)&lt;br /&gt;
Free 된 Heap 메모리에 채워지는 값&lt;br /&gt;
Dead Memory: Memory that has been released with delete or free. It is used to detect writing through dangling pointers.&lt;br /&gt;
&lt;br /&gt;
0xfdfdfdfd (4261281277)&lt;br /&gt;
할당된 Heap 메모리의 경계(전,후)에 채워지는 값&lt;br /&gt;
Fence Memory: Also known as &quot;no mans land.&quot; This is used to wrap the allocated memory (like surrounding it with fences) and is used to detect indexing arrays out of bounds.&lt;br /&gt;
&lt;br /&gt;
0xABABABAB (‭2880154539‬)&lt;br /&gt;
HeapAlloc으로 메모리 할당 후 가드 바이트에 채워진 값&lt;br /&gt;
(Allocated Block?): Memory allocated by LocalAlloc().&lt;br /&gt;
&lt;br /&gt;
0xBAADF00D (‭3131961357‬)&lt;br /&gt;
LocalAlloc(LMEM_FIXED)으로 메모리를 할당한 후 초기화하지 않음&lt;br /&gt;
Bad Food: Memory allocated by LocalAlloc() with LMEM_FIXED, but not yet written to.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c9535/Inside-CRT-Debug-Heap-Management.htm&quot; target=&quot;_blank&quot;&gt;https://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c9535/Inside-CRT-Debug-Heap-Management.htm&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/4585010886522322298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2019/03/visual-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/4585010886522322298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/4585010886522322298'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2019/03/visual-c.html' title='Visual C++ 디버깅 메모리 상태'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-8341982901443621681</id><published>2019-01-29T12:47:00.000+09:00</published><updated>2019-01-29T12:47:10.428+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="_popen"/><category scheme="http://www.blogger.com/atom/ns#" term="GetVersion"/><category scheme="http://www.blogger.com/atom/ns#" term="OS Version"/><category scheme="http://www.blogger.com/atom/ns#" term="Ver"/><category scheme="http://www.blogger.com/atom/ns#" term="VerifyVersionInfo"/><title type='text'>[C++] OS 버전 알아내기</title><content type='html'>프로그래밍 중 OS 버전을 확인해야 하는 상황이 있어 내용을 찾아보았다.&lt;br /&gt;
검색을통해서 GetVersion, GetVersionEx 함수를 이용하는 방법과 VerifyVersionInfo 또는 Version Helper functions 를 사용하는 방법 그리고 시스템 파일(Kernel32.dll)의 파일 정보(GetFileVersionInfo)를 읽어들이는 방법이 있었다.&lt;br /&gt;
GetVersion, GetVersionEx 의 경우는 호환성 문제로 MS에서도 이 함수보다 VerifyVersionInfo 또는 Version Helper functions 를 사용하기를 권장하고 있었다.&lt;br /&gt;
VerifyVersionInfo은 사용법이 복잡해서 귀찮고 오래된 윈도우에서 동작하지 않을 수 있을 것 같아 다른 방법을 찾아보았다.&lt;br /&gt;
&lt;br /&gt;
간단하게 도스 명령 Ver를 실행하여 결과를 해석하는 방법을 사용하였다.&lt;br /&gt;
Ver 명령어는 윈도우의 버전을 보여주는 명령어다. SystemInfo 라는 명령어도 있지만 많은 데이터를 보여주다보니 실행시간 다소 길다.&lt;br /&gt;
Ver 명령은 오래전부터있던 명령어로 윈도우의 버전만 간단하게 보여준다.&lt;br /&gt;
https://en.wikipedia.org/wiki/Ver_(command)&lt;br /&gt;
&lt;br /&gt;
Windows 10의 경우&lt;br /&gt;
C:\&amp;gt;ver&lt;br /&gt;
&lt;br /&gt;
Microsoft Windows [Version 10.0.17763.253]&lt;br /&gt;
&lt;br /&gt;
Windows 7의 경우&lt;br /&gt;
C:\&amp;gt;ver&lt;br /&gt;
&lt;br /&gt;
Microsoft Windows [Version 6.1.7601]&lt;br /&gt;
&lt;br /&gt;
도스 명령의 결과를 받아오기 위해 _popen 함수를 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: cpp; ruler: true;&quot;&gt;//////////////////////////////////////////////////////////////////////////
// OS Version
FILE* file = nullptr;
char szOutput[300];

file = _popen(&quot;ver&quot;, &quot;r&quot;);
if ( file != nullptr )
{
 fread(szOutput, 1, sizeof(szOutput), file);
 fclose(file);

 std::string strVer(szOutput);
 std::regex reVer(&quot;[0-9]+\\.[0-9]+\\.?(\\*|[0-9]+)\\.?([0-9]+)?&quot;);
 std::smatch m;
 if( regex_search(strVer, m, reVer) )
 {
  m_strWinVersion = CString(szOutput);
  m_strWinVerNumber = CString(m.str().c_str());

  int n1stDot = m_strWinVerNumber.Find(L&quot;.&quot;);
  int n2ndDot = m_strWinVerNumber.Find(L&quot;.&quot;, n1stDot + 1);
  int n3rdDot = m_strWinVerNumber.Find(L&quot;.&quot;, n2ndDot + 1);
  if ( n1stDot &amp;gt;= 0 &amp;amp;&amp;amp; n2ndDot &amp;gt; n1stDot )
  {
   m_nWinVerMajor = _tstoi(m_strWinVerNumber.Left(n1stDot));
   m_nWinVerMinor = _tstoi(m_strWinVerNumber.Mid(n1stDot + 1, n2ndDot - n1stDot - 1));
   if ( n3rdDot == -1 &amp;amp;&amp;amp; n2ndDot != -1 )
   {
    m_nWinVerBuild = _tstoi(m_strWinVerNumber.Mid(n2ndDot + 1));
   }
   else if ( n3rdDot &amp;gt; n2ndDot )
   {
    m_nWinVerBuild = _tstoi(m_strWinVerNumber.Mid(n2ndDot + 1, n3rdDot - n2ndDot - 1));
   }
  }
 }
}
// OS Version
//////////////////////////////////////////////////////////////////////////
&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/8341982901443621681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2019/01/c-os.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/8341982901443621681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/8341982901443621681'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2019/01/c-os.html' title='[C++] OS 버전 알아내기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-8251120948138407826</id><published>2019-01-15T12:55:00.000+09:00</published><updated>2019-01-15T13:00:47.152+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bcdboot"/><category scheme="http://www.blogger.com/atom/ns#" term="bcdedit"/><category scheme="http://www.blogger.com/atom/ns#" term="diskpart"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows boot manager"/><title type='text'>Windows Boot Manager 옮기기</title><content type='html'>&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
여러 HDD를 사용하다가 없애야 하는 상황이 발생하였다.&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
운영체제가 설치된 HDD를 제외하고 다른 HDD를 제거하려 하였으나 부팅이 되지 않는 상황에 부딪쳤다.&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
확인을 해 보니 Window Boot Manager 가 C드라이브가 아닌 Z드라이브에 설치되어 있었다.&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;$ bcdedit&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;Windows Boot Manager&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;--------------------&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;identifier&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {bootmgr}&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;device&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; partition=Z:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;Windows Boot Loader&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;-------------------&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;identifier&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {current}&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;device&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; partition=C:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
C 드라이브를 제외한 모든 HDD를 제거하기위해 Windows Boot Manager 를 C 드라이브로 옮겨야 했다.&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
우선 bcdboot 프로그램으로 C드라이브에 Boot 파일을 생성하였다.&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;$ bcdboot C:\Windows /s C:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;Boot files successfully created.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
그리고 난 후 diskpart 프로그램을 이용하여 C 드라이브의 파티션을 활성화 해 주었다.&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;$ diskpart&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;DISKPART&amp;gt; select disk 0&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;DISKPART&amp;gt; select partition 1&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;DISKPART&amp;gt; active&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
그리고 나서 C 드라이브를 제외한 모든 드라이버를 제거하고 부팅에 성공을 하였다.&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
bcdedit를 이용하여 확인을 해보니 Window Boot Manager 가 C드라이브 옮겨졌다.&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;$ bcdedit&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;Windows Boot Manager&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;--------------------&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;identifier&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {bootmgr}&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;device&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; partition=C:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , monospace;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana; font-size: small; letter-spacing: -1px;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/8251120948138407826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2019/01/windows-boot-manager.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/8251120948138407826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/8251120948138407826'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2019/01/windows-boot-manager.html' title='Windows Boot Manager 옮기기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-8332601568060335902</id><published>2018-08-23T13:23:00.000+09:00</published><updated>2018-08-23T13:23:15.548+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Color"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenCV"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="split"/><title type='text'>[Python] 컬러 영상의 채널 분리하기</title><content type='html'>&lt;div style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px;&quot;&gt;
컬러영상의 각 채널데이터를 분리할 일이 있었는데 C++로 만들어 보려다 Python 예제를 찾아 만들어보았는데 아주 간단한 코드로 원하는 결과를 얻을 수 있었다.&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px;&quot;&gt;
Python의 생산성은 정말 대단한 것 같다. Python을 좀더 공부해야겠다.&lt;/div&gt;
&lt;pre class=&quot;brush: text; ruler: true&quot;&gt;import cv2
import numpy as np
img = cv2.imread(&quot;ColorImage.png&quot;)
b,g,r = cv2.split(img)
cv2.imwrite(&#39;Image_R.png&#39;, r)
cv2.imwrite(&#39;Image_G.png&#39;, g)
cv2.imwrite(&#39;Image_B.png&#39;, b)
&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/8332601568060335902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2018/08/python.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/8332601568060335902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/8332601568060335902'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2018/08/python.html' title='[Python] 컬러 영상의 채널 분리하기'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-224502944663282760</id><published>2018-08-21T13:59:00.001+09:00</published><updated>2018-08-21T14:07:16.552+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OpenCV"/><category scheme="http://www.blogger.com/atom/ns#" term="opencv_viz"/><category scheme="http://www.blogger.com/atom/ns#" term="opencv_world"/><category scheme="http://www.blogger.com/atom/ns#" term="VTK"/><title type='text'>Build OpenCV 3.4.2 with VTK 8.1.1</title><content type='html'>오래전에 OpenCV의 viz 모듈에 관심이 있어 VTK를 OpenCV 와 VTK를 빌드한 적이 있었다.&lt;br /&gt;
&lt;a href=&quot;https://neodreamer-dev.blogspot.com/2016/10/build-opencv-31-with-vtk-70-in-visual.html&quot; target=&quot;_blank&quot;&gt;Build OpenCV 3.1 with VTK 7.0 in Visual Studio 2015&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
그때당시 VTK의 Renderer 설정과 world 모듈 생성에 문제가 있어서 복잡하게 했던 기억이 있다.&lt;br /&gt;
&lt;br /&gt;
먼저 VTK 를 &lt;a href=&quot;https://cmake.org/&quot; target=&quot;_blank&quot;&gt;CMake&lt;/a&gt;를 이용하여 정적라이브러리로 빌드한다.&lt;br /&gt;
이전과는 다르게 Renderer 설정을 변경할 필요가 없었다. 기본 제공하는 OpenGL2로 진행을 한다.&lt;br /&gt;
OpenCV와 정적으로 연결되도록 BUILD_SHARED_LIBS 옵션을 해제하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: text; ruler: true&quot;&gt;Srouce: E:/DevWork/VTK/VTK-8.1.1
Build:  E:/DevWork/VTK/VTK-8.1.1_VS2013_x86Static
 
Configuration options
  BUILD_EXAMPLES                   uncheck
  BUILD_SHARED_LIBS                uncheck
  BUILD_TESTING                    uncheck
  CMAKE_INSTALL_PREFIX             BuildPath/install
&lt;/pre&gt;
&lt;br /&gt;
VTK 빌드를 완료하였다면 OpenCV를 빌드 할 차례이다.&lt;br /&gt;
OpenCV는 VTK 빌드 경로와 viz와 world 모듈을 빌드하도록 하였고 CXX11, OpenGL과 OpenMP를 사용하도록 설정하였다.&amp;nbsp;빠른 테스트를 위해 BUILD_TESTS 옵션을 선택하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: text; ruler: true&quot;&gt;Source: E:/DevWork/OpenCV/VTK/opencv-3.4.2
Build:  E:/DevWork/OpenCV/VTK/opencv-3.4.2_VC2013_x86
 
Configuration options
  BUILD_DOCS            uncheck
  BUILD_EXAMPLES        uncheck
  BUILD_TESTS           check
  VTK_DIR               E:/DevWork/VTK/VTK-8.1.1_VS2013_x86Static
  WITH_OPENGL           check
  WITH_OPENMP           check
  
  BUILD_opencv_viz      check
  BUILD_opencv_world    check
&lt;/pre&gt;
&lt;br /&gt;
이전에는 viz 모듈이 world모듈로 포함이되지 않아서 world 별도로 빌드하고 viz 빌드시 라이브러리 참조를 opencv_core에서 opencv_world 로 변경하였는데 이번에는 viz 모듈이 world모듈로 포함이 되었다.&lt;br /&gt;
따라서 빌드후 world 모듈인 opencv_world342.dll 파일만 있으면 된다.&lt;br /&gt;
&lt;br /&gt;
완료후 실제 테스트를 하려면 시간이 소요될 것 같아서 OpenCV를 빌드할 때 BUILD_TESTS 옵션을 선택하여 테스트 파일이 만들어지도록 하였다.&lt;br /&gt;
&lt;br /&gt;
빌드를 마친후 bin\Release 폴더의 opencv_test_viz.exe를 실행해 보았다.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivq94t10_Vxkcfy5ElI42c-TSLWnBHzWHIstyvx4ASSjjPyDQVYLz9zVKUPL36iSRONHFAnKwGb8Ug4qQt4rnrk-juW8DO41mN6LG9wVCBh7IC7JwsTguIHXWeFka2cMN1smmsgeDP7ak/s1600/opencv_viz.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;409&quot; data-original-width=&quot;469&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivq94t10_Vxkcfy5ElI42c-TSLWnBHzWHIstyvx4ASSjjPyDQVYLz9zVKUPL36iSRONHFAnKwGb8Ug4qQt4rnrk-juW8DO41mN6LG9wVCBh7IC7JwsTguIHXWeFka2cMN1smmsgeDP7ak/s1600/opencv_viz.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
문제없이 실행되는 것으로 보아 viz 모듈이 world에 제대로 포함된 것 같다.</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/224502944663282760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2018/08/build-opencv-342-with-vtk-811.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/224502944663282760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/224502944663282760'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2018/08/build-opencv-342-with-vtk-811.html' title='Build OpenCV 3.4.2 with VTK 8.1.1'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivq94t10_Vxkcfy5ElI42c-TSLWnBHzWHIstyvx4ASSjjPyDQVYLz9zVKUPL36iSRONHFAnKwGb8Ug4qQt4rnrk-juW8DO41mN6LG9wVCBh7IC7JwsTguIHXWeFka2cMN1smmsgeDP7ak/s72-c/opencv_viz.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5292719135470497420.post-871509662634335308</id><published>2018-08-21T12:07:00.000+09:00</published><updated>2018-08-21T13:07:46.669+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MYSQL"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenSSL"/><category scheme="http://www.blogger.com/atom/ns#" term="Poco"/><category scheme="http://www.blogger.com/atom/ns#" term="Poco 1.9.0"/><title type='text'>Build Poco 1.9.0 with OpenSSL and MySQL</title><content type='html'>오랜만에 Poco 라이브러리 1.9 버전을 빌드해 보았다.&lt;br /&gt;
얼마전부터 계속 시도해 보았지만 OpenSSL을 포함하는데 문제가 있어서 계속 실패를 하다가 인터넷을 통해 도움을 얻어 드디어 성공하였다.&lt;br /&gt;
일단 Poco 라이브러리의 추가 포함 라이브러리는 목적에따라 OpenSSL과 MySQL을 추가할 수 있다.&lt;br /&gt;
언제든 사용할 수 있는 라이브러리라서 빌드할 때 이들을 추가해 놓으면 편할 것 같아서 항상 이를 포함하여 빌드한다.&lt;br /&gt;
&lt;br /&gt;
우선 빌드에 필요한 것들은 다음과 같다.&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Poco Library 1.9&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;https://github.com/pocoproject/poco&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;poco-poco-1.9.0-release.zip&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;OpenSSL&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;https://github.com/pocoproject/openssl&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;openssl-develop.zip&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;MySQL&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;https://dev.mysql.com/downloads/mysql/5.7.html#downloads&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;mysql-5.7.23-win32.zip&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;mysql-5.7.23-winx64.zip&lt;br /&gt;
&lt;br /&gt;
OpenSSL 빌드하기&lt;br /&gt;
https://github.com/pocoproject/openssl 에서 받은 소스를 빌드한다.&lt;br /&gt;
이미 Vsiual Studio 2013 버전으로 빌드가 되어있는 dll과 라이브러리가 소스에 포함되어있어 이를 이용하는 경우 빌드를 할 필요가 없다.&lt;br /&gt;
혹시 OpenSSL 버전을 변경하고자 하는경우 다시 빌드를 해야한다.&lt;br /&gt;
2018년 08월 17일 현재 올려져있는 버전은 1.1.0g 버전이다.&lt;br /&gt;
새롭게 빌드를 하고자 하는경우 소스를 압축해제하고 해제한 폴더에서 다음 명령을 수행하면 된다.&lt;br /&gt;
build.ps1을 실행하면 된다.&lt;br /&gt;
build.ps1 명령을 아래와 같은 형식이고,&lt;br /&gt;
build.ps1 [-openssl_release 1.0.0 | 1.1.0]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [-vs_version 150 | 140 | 120 | 110 | 100 | 90]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [-config&amp;nbsp; &amp;nbsp; &amp;nbsp;release | debug | both]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [-platform&amp;nbsp; &amp;nbsp;Win32 | x64] # TODO WinCE/WCE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [-library&amp;nbsp; &amp;nbsp; shared | static | both]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
실행 예제는 다음과 같다.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
powershell -ExecutionPolicy RemoteSigned -File build.ps1 -openssl_release 1.1.0h -vs_version 120 -config both -platform x64 -library both&lt;br /&gt;
&lt;br /&gt;
빌드를 하면 소스 경로에 VC_(버전번호) 의 폴더가 만들어지고 그 안에 결과 파일들이 생성된다.&lt;br /&gt;
&lt;br /&gt;
Poco 추가 라이브러리 구성하기&lt;br /&gt;
먼저 Poco 라이브러리 소스 파일(poco-poco-1.9.0-release.zip)을 압축해제한다.&lt;br /&gt;
그리고 OpenSSL을 빌드를 하지 않은경우 openssl-develop.zip 파일의 build 폴더를 Poco 소스의 openssl 폴더에 복사한다.&lt;br /&gt;
OpenSSL을 빌드하였다면 결과 폴더(VC_(버전번호))를 openssl 폴더에 복사하고 이름을 build로 변경한다.&lt;br /&gt;
&lt;br /&gt;
Poco 소스 폴더에 mysql 폴더를 생성하고 mysql-5.7.23-win32.zip 파일의 include 와 lib 폴더를 압축해제하고 lib 폴더는 lib32로 변경한다.&lt;br /&gt;
그리고 mysql-5.7.23-winx64.zip 파일의 lib 폴더를 mysql 폴더에 압축해제하고 lib64로 변경한다.&lt;br /&gt;
그러면 최종적으로 추가 생성된 폴더는 아래와 같은 구성된다.&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;poco-poco-1.9.0-release&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;openssl&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;build&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;include&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;openssl&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;win32&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;bin&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;lib&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;win64&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;bin&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;lib&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;mysql&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;include&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;lib32&lt;br /&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;lib64&lt;br /&gt;
&lt;br /&gt;
빌드를 하기전에 buildwin.cmd 파일에서 위에서 구성한 mysql 폴더를 사용하도록 변경을 해 주어야한다.&lt;br /&gt;
PLATFORM 파라메터를 인식한 후에 아래 코드를 추가(62line)한다.&lt;br /&gt;
rem MySQL&lt;br /&gt;
set MYSQL_DIR=%POCO_BASE%\mysql&lt;br /&gt;
set MYSQL_INCLUDE=%MYSQL_DIR%\include&lt;br /&gt;
if &quot;%PLATFORM%&quot;==&quot;Win32&quot; (set MYSQL_LIB=%MYSQL_DIR%\lib32)&lt;br /&gt;
if &quot;%PLATFORM%&quot;==&quot;x64&quot; (set MYSQL_LIB=%MYSQL_DIR%\lib64)&lt;br /&gt;
set INCLUDE=%INCLUDE%;%MYSQL_INCLUDE%&lt;br /&gt;
set LIB=%LIB%;%MYSQL_LIB%&lt;br /&gt;
&lt;br /&gt;
echo MySQL Path: %MYSQL_DIR%&lt;br /&gt;
echo Include: %INCLUDE%&lt;br /&gt;
echo Lib: %LIB%&lt;br /&gt;
pause&lt;br /&gt;
&lt;br /&gt;
echo 명령과 pause 명령은 mysql 관련 설정이 제대로 되었는지 확인하기 위해 넣은 코드이다.&lt;br /&gt;
&lt;br /&gt;
이제 Visual Studio 버전에 맞는 빌드 명령을 호출하면 된다.&lt;br /&gt;
buildwin.cmd 명령 형식은 다음과 같다.&lt;br /&gt;
Usage:&lt;br /&gt;
------&lt;br /&gt;
buildwin VS_VERSION [ACTION] [LINKMODE] [CONFIGURATION] [PLATFORM] [SAMPLES] [TESTS] [TOOL]&lt;br /&gt;
VS_VERSION:&amp;nbsp; &amp;nbsp; &quot;90|100|110|120|140|150&quot;&lt;br /&gt;
ACTION:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;build|rebuild|clean&quot;&lt;br /&gt;
LINKMODE:&amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;static_mt|static_md|shared|all&quot;&lt;br /&gt;
CONFIGURATION: &quot;release|debug|both&quot;&lt;br /&gt;
PLATFORM:&amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;Win32|x64|WinCE|WEC2013&quot;&lt;br /&gt;
SAMPLES:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;samples|nosamples&quot;&lt;br /&gt;
TESTS:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;tests|notests&quot;&lt;br /&gt;
TOOL:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;devenv|vcexpress|wdexpress|msbuild&quot;&lt;br /&gt;
&lt;br /&gt;
아래 명령은 Visual Studio 2013 버전으로 빌드하기 위해 실행한 명령이다.&lt;br /&gt;
buildwin.cmd 120 build all both x64 samples tests msbuild&lt;br /&gt;
&lt;br /&gt;
빠르게 빌드만 하려면 SAMPLES과 TESTS에 대하여 nosamples 와 notests로 설정하여 빌드한다.</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-dev.blogspot.com/feeds/871509662634335308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://neodreamer-dev.blogspot.com/2018/08/build-poco-190-with-openssl-and-mysql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/871509662634335308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5292719135470497420/posts/default/871509662634335308'/><link rel='alternate' type='text/html' href='http://neodreamer-dev.blogspot.com/2018/08/build-poco-190-with-openssl-and-mysql.html' title='Build Poco 1.9.0 with OpenSSL and MySQL'/><author><name>NeoDreamer</name><uri>http://www.blogger.com/profile/08964730290754930000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>