노트4를 쓰다가 언젠가부터 일정 동기화가 안 돼서 백방으로 검색했지만 웹에서 답을 찾을 수 없었다.

즉 설정에서 구글 계정에 들어가면 수동으로 동기화는 가능하지만 자동 동기화는 불가능한 상황.

이것은 Google 계정 설정에서 설정하는 것이 아니라 설정 -> '계정' 의 콘텍스트 메뉴에 숨어 있다.
여기 "데이터 자동 동기화" 옵션이 해지되어 있어서 나타난 증상이다. 체크해주고 각 Google 계정 설정에 들어가면 서비스 별로 자동 동기화 설정이 가능하다.




Windows 10으로 업그레이드한 워크스테이션 사용중,

사용하지도 않는데 자꾸 탐색기에 나타나 걸리적거리는 Recovery Image (D:) 드라이브를 없애고 싶어졌다.


커맨드창에서 diskmgmt.msc를 실행하여 해당 드라이브문자를 삭제하려는 찰나...!



'change drive letter' 메뉴가 뜨지 않는다...!

그리고 하나 더 이상한 건, 위쪽 창을 보면 해당 파티션(D:)이 두 개이다.


가장 비슷한 상황은 여기 있었다:

http://answers.microsoft.com/en-us/windows/forum/windows_10-files/why-are-there-duplicate-450mb-recovery-partitions/5104340e-c1fb-4411-a740-271198357163


정리하자면, 원래 있던 복구 파티션이 Windows 10 업그레이드 설치를 거치면서 복제돼버린 것이다.


이 문제는 위 링크에서 추천한 MiniTool Free를 설치하니 가볍게 해결되었다.



해당 파티션을 오른쪽클릭하고 'change letter' 또는 'hide partition'하면 된다.

'change letter'가 조금 더 안정적인 것 같고, drive letter를 'none'으로 선택하면 된다.


Kinect (D3D) 샘플 빌드하기

개발과 트러블슈팅 2015. 11. 20. 12:08 Posted by 양고



KInect SDK 1.8, VS 2012, Debug 구성 기준이다.


Detph-D3D, DepthWithColor-D3D 샘플에 해당하는 내용이지만 일반적인 DirectX 사용 샘플에 적용되는 사항으로 보인다.


빌드 오류가 나는 헤더에서 xnamath.h는 DirectXMath.h로 바꾼다.

//#include <xnamath.h>

#include <DirectXMath.h>


DX11Utils.cpp에서 d3dx11.h는 DirectXMath.h로 바꾼다.

//#include <d3dx11.h>

#include <d3d11.h>


셰이더 컴파일 코드에서도 오류가 발생한다.

hr = D3DX11CompileFromFileW( szFileName, NULL, NULL, szEntryPoint, szShaderModel, 

0, 0, NULL, ppBlobOut, &pErrorBlob, NULL );


다음과 같이 바꾼다.

#include <d3dcompiler.h>


hr = D3DCompileFromFile(szFileName, NULL, NULL, szEntryPoint, szShaderModel, 0, 0, ppBlobOut, &pErrorBlob);


프로젝트 - 속성 - 구성 속성 - 링커 - 입력에서 d3dx11d.lib, d3dx9d.lib, dxerr.lib를 삭제한다.


빌드 및 실행한다.




 

 

CV_RGB --> Scalar

CV_RGB2GRAY --> COLOR_RGB2GRAY

CV_TM_CCOEFF_NORED --> TM_CCOEFF_NORMED

 

기억하자

 

CV_ preposition is gone!

 

 

 

 

 

새 컴퓨터에서 IE를 쓸 때마다 구글 영문 페이지가 뜨는 것이 영 불편했다.

IE에서 추가 검색 공급자를 찾으면 다음의 페이지가 나온다. 역시 구글 한글 검색 제안이 없어졌다. 마소 진짜 왜 이러니... ㅉㅉ Don't be evil! 사악하지 마소~ ㅋ

 

 

지금으로서는 가장 편한 방법은 일단 영문 google search suggestions를 IE에 추가한 다음, 레지스트리를 편집하는 것 같다.

HKCU\Software\Microsoft\Internet Explorer\SearchScopes\구글영문검색의 ID를 찾아서,

 

 

google.com을 google.co.kr로, hl=en을 hl=ko로 각각 바꾸어 준다.

그런 다음 IE를 완전히 닫고, 다시 열어서 주소창에서 검색해본다.

 

 

구글 한글 검색이 잘 적용된 것을 알 수 있다.

 

 

opencv 2.4.10으로 업그레이드한 후, 실험용 PC에서 imshow 내지 namedWindow만 실행하면 예외가 발생하는 상황이 생겼다.

이는 의외로 CMake로 opencv 솔루션을 만들 때 SSE 최적화 문제 때문인 것으로 생각된다.

 

http://stackoverflow.com/questions/4609069/opencv-2-2-windows-xp-mingw-build-crashes-on-namedwindow-imshow

 

https://code.ros.org/trac/opencv/ticket/583

 

CMake로 opencv를 별도로 빌드하지 않고 기 포함된 라이브러리를 사용할 때에는 이러한 문제가 없는 것으로 보인다.

 

 

 

 

 

메타데이터를 읽고 쓰기 위해 Exiv2를 (천신만고 끝에) 빌드하였다.

다음은 사용 예제이다.

 

#include "stdafx.h"

 

#include <exiv2/exiv2.hpp>
#pragma comment(lib, "exiv2s.lib")
#pragma comment(lib, "xmpsdk.lib")
#pragma comment(lib, "zlib1.lib")
#pragma comment(lib, "libexpat.lib")

 

 

int _tmain(int argc, _TCHAR* argv[])
{
 Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open("196_9685.jpg"); //("untitled.png");
 image->readMetadata();
 Exiv2::ExifData &exifData = image->exifData();
    Exiv2::ExifData::const_iterator end = exifData.end();
    for (Exiv2::ExifData::const_iterator i = exifData.begin(); i != end; ++i) {
        const char* tn = i->typeName();
        std::cout << std::setw(44) << std::setfill(' ') << std::left
                  << i->key() << " "
                  << "0x" << std::setw(4) << std::setfill('0') << std::right
                  << std::hex << i->tag() << " "
                  << std::setw(9) << std::setfill(' ') << std::left
                  << (tn ? tn : "Unknown") << " "
                  << std::dec << std::setw(3)
                  << std::setfill(' ') << std::right
                  << i->count() << "  "
                  << std::dec << i->value()
                  << "\n";
    }
 getchar();

 return 0;

 

실행하면 다음 그림과 같이 사진의 메타데이터를 죽 읽어준다.

 

 

 

 

VS2008까지는 분명 전체 VS 옵션에 VC++ 디렉터리 설정이 있었다.

그러나 VS2010 이후로는 모든 프로젝트마다 별도의 VC++ 디렉터리 설정이 필요하다. (캐귀찮)

도구 -> 옵션에서 VC++ 디렉터리로 가면 아래와 같이 나온다. 

 

그러나 저 사용자 속성 시트란 것은 뭐란 말인가?

VS2012에서는 이렇다. VS2010 이후로는 비슷할 것이다. (아마)

 

1. 우선 아무 프로젝트나 연다.

2. 보기 -> 다른 창 -> 속성 관리자 (property manager) 로 간다. 꼭꼭 잘 숨겨놓기도 했다.

 

3. 이 속성 관리자의 Debug | Win32 등으로 가면 Microsoft.Cpp.Win32.user 라는 속성 시트(property sheet) 파일이 있다. 

 

4. 이 파일을 열면 VC++ 디렉터리를 편집할 수 있다. 이 파일이 모든 프로젝트에 자동으로 다 포함돼 있으므로 이 파일만 편집하면 된다. 끝!

 

 

언젠가부터 윈도7의 파일 찾기가 먹통이 되어 커맨드프롬프트에서 찾기로 했다.

도스창에서 파일을 찾으려면 해당 커맨드는 뭘까? 얼핏 'FIND'가 생각나지만, FIND는 파일에서 특정 스트링을 찾는 커맨드이다.

지정한 파일을 찾는 커맨드는 dir /s이다.

예를 들어 C:\SDKs 폴더에서 "zconf"로 시작하는 파일을 찾고 싶으면 다음과 같이 입력한다.

dir  /s \SDKs\zconf*

 

 

 

DeckLink SDK 사용법

개발과 트러블슈팅 2015. 1. 5. 11:11 Posted by 양고

 

DeckLink SDK를 설치했다고 해도 실제로 사용하는 방법은 그다지 직관적이지 않다.

실제 프로젝트에서 DeckLink를 사용하기 위한 방법은 다음과 같다.

 

http://forum.blackmagicdesign.com/viewtopic.php?f=18&t=6896

 

  • DeckLink SDK를 설치한다. BlackMagic Design에 신청하면 받을 수 있을 것이다.
  • DeckLink SDK 폴더 \ Win \ include 에 있는 DeckLinkApi.idl을 프로젝트에 추가한다.
  • 추가된 DeckLinkApi.idl을 오른쪽 클릭하여 컴파일한다.
  • 만들어진 DeckLinkAPI_i.c를 프로젝트에 또 추가한다. (이 과정이 없으면 "error LNK2001: _IID_IDeckLinkIterator 외부 기호를 확인할 수 없습니다." 에러가 발생한다.)
  •