2010/10/28
SQLite Release 3.7.3.0 (정적/동적 라이브러리 포함)
SQLite Release 3.7.3 On 2010 October 08 (3.7.3)
- Added the sqlite3_create_function_v2() interface that includes a destructor callback.
- Added support for custom r-tree queries using application-supplied callback routines to define the boundary of the query region.
- The default page cache strives more diligently to avoid using memory beyond what is allocated to it by SQLITE_CONFIG_PAGECACHE. Or if using page cache is allocating from the heap, it strives to avoid going over the sqlite3_soft_heap_limit64(), even if SQLITE_ENABLE_MEMORY_MANAGEMENT is not set.
- Added the sqlite3_soft_heap_limit64() interface as a replacement for sqlite3_soft_heap_limit().
- The ANALYZE command now gathers statistics on tables even if they have no indices.
- Tweaks to the query planner to help it do a better job of finding the most efficient query plan for each query.
- Enhanced the internal text-to-numeric conversion routines so that they work with UTF8 or UTF16, thereby avoiding some UTF16-to-UTF8 text conversions.
- Fix a problem that was causing excess memory usage with large WAL transactions in win32 systems.
- The interface between the VDBE and B-Tree layer is enhanced such that the VDBE provides hints to the B-Tree layer letting the B-Tree layer know when it is safe to use hashing instead of B-Trees for transient tables.
- Miscellaneous documentation enhancements.
이번 버전에서는 정적 라이브러리를 만들기 위해 컴파일을 시도 하면 sqlite3rtree.h 파일을 찾을 수 없다는 에러 메세지가 발생하였다. 이 문제에 대한 자료를 찾기가 어려워 우선 sqlite3rtree.h 파일을 sqlite-3.7.3.tar.gz 파일에서 찾아(sqlite-3.7.3.tar.gz\sqlite-3.7.3.tar\sqlite-3.7.3\ext\rtree\) 넣어 컴파일을 하였다
Labels:
Free Database
,
SQLite
,
SQLite 64bit Dll
,
SQLite for C++ Builder
,
SQLite for Visual C++
,
SQLite library
,
SQLite Static Library
,
TistoryOldPost
,
무료 데이터베이스
2010/10/21
AnkhSVN에서 .DLL 과 .LIB 파일을 SVN 에 등록하기
2010/10/16 - [Dev Story] - AnkhSVN 으로 Subversion에서 프로젝트 받아오기
AnkhSVN 으로 프로젝트를 SVN 에 올릴 경우 프로젝트에 포함된 .DLL 파일과 .LIB 파일이 SVN Repository 에 등록이 되지 않는데 이를 등록하는 방법을 지금까지 찾을 수 없었는데 의외로 간단한 방법을 찾았다.
AnkhSVN 에 포함되어 있는 Working Copy Explorer 을 이용하면 해결 할 수 있다. Working Copy Explorer 는 PC에서 작업중인 프로젝트를 탐색할 수 있으면 SVN 관련 작업을 지원하는 View 이다. Visual Studio 의 View 메뉴에서 Working Copy Explorer 를 호출 할 수 있다.
Repository에 등록되지 않은 파일들을 등록하길 원할 경우 해당 파일에서 오른쪽 버튼의 Subversion 메뉴에서 할 수 있다.<
Original Post : http://neodreamer-dev.tistory.com/472
Labels:
AnkhSVN
,
Subversion
,
svn
,
TistoryOldPost
,
Visual Studio
,
Visual Studio IDE Plugins
2010/10/19
OpenCV 2.1 에서 32비트와 64비트 구분되도록 컴파일 하기
Labels:
64비트
,
OpenCV
,
OpenCV 2.1
,
OpenCV Library
,
TistoryOldPost
2010/10/18
CFileDialog 여러개의 파일 선택하기
CFileDialog dlgFile( TRUE, NULL, NULL,
<
OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT,
_T("All files (*.)|*.*") );
int nFileNum = 100;
int nFileNameSize = MAX_PATH + 1;
int nBufSize = nFileNameSize * nFileNum + 1;
TCHAR* szFileNames = new TCHAR[ nBufSize ];
szFileNames[ 0 ] = NULL;
szFileNames[ nBufSize - 1 ] = NULL;
dlgFile.m_ofn.lpstrFile = szFileNames;
dlgFile.m_ofn.nMaxFile = nBufSize;
if ( dlgFile.DoModal() == IDOK )
{
POSITION pos = dlgFile.GetStartPosition();
while ( pos != NULL )
{
CString strFile = dlgFile.GetNextPathName( pos );
}
}
delete [] szFileNames;
Original Post : http://neodreamer-dev.tistory.com/470
Labels:
CFileDialog
,
CFileDialog 여러개 파일 선택
,
OFN_ALLOWMULTISELECT
,
TistoryOldPost
2010/10/17
OpenCV 2.1 + TBB 를 Visual Studio 2010 에서 컴파일하기
OpenCV 가 2.1 버전에서 OpenMP 를 버리고 Threading Building Blocks(이하 TBB)를 선택하였는데 성능면에서 어떠한 이득이 있을지는 모르겠다. 실제로 테스트를 해 보기 위해서 OpenCV 2.1 버전을 TBB 를 활성화하여 컴파일을 해보려 했지만 쉽지 않았다.
인터넷에서 해당 정보를 찾아 보았지만 TBB 를 포함한 컴파일에 대한 설명은 많지도 않고 자세하지도 않았다. 그러던 중 한 사이트(http://blog.csdn.net/effenberg11/archive/2010/07/05/5712724.aspx)를 발견하고 그 실마리를 얻었다.
준비사항
우선 CMake 를 설치한다. 설치하지 않고도 가능하겠지만 많은걸 입력해 주어야 한다.
OpenCV 경로 : D:\Work\OpenCV\x86
설치된 CMake GUI 버전을 실행시킨다. 그리고 소스 코드 경로(Where is the source code)에 OpenCV 의 경로 D:\Work\OpenCV\x86 를 입력하고 바이너리 생성 경로(Where to build the binaries)에 OpenCV 의 경로 D:\Work\OpenCV\x86 를 입력하고 하단의 "Configure" 버튼을 클릭한다.
"Configure" 버튼을 누르면 컴파일러를 선택하는 대화상자가 나오는데 이 대화상자에서 "Visual Studio 10" 과 "Use default native compilers" 를 선택한다.
컴파일러 선택 후 "Configure" 버튼을 클릭하면 온통 붉은색으로 뒤덥힌 리스트를 만나게 된다. 그리고 WITH_TBB 가 체크되지 않음을 확인할 수 있다.
TBB 를 활성화 하기 위해 WITH_TBB 항목을 선택하고 "Configure" 버튼을 누른다.
그러면 TBB에 대한 잘 못 된 항목(TBB_INCLUDE_DIR) 값이 리스트 상단에 표시가 된다.
TBB_INCLUDE_DIR 항목에 TBB 경로의 Include 경로를 지정하고 "Configure" 버튼을 누른다.
다음 에러는 TBB_LIB_DIR 경로 오류가 발생한다.
TBB_LIB_DIR 에 TBB 의 lib 폴더에서 플랫폼과 컴파일러 버전을 맞추어 경로를 선택한다.
경로 설정을 마치고 "Configure" 버튼을 누르면 모든 에러가 해제되고 새롭게 등록된 두 항목을 확인할 수 있다.
그리고 Use TBB 가 활성화 된 것을 확인할 수 있다.
이제 OpenCV를 압축해제 해 놓은 경로(D:\Work\OpenCV\x86)에서 OpenCV.sln 파일을 Visual Studio 2010 으로 열어 ALL_BUILD 프로젝트의 속성 대화상자를 연다.
속성 대화상자에서 VC++ Directories 항목중에서 Executable, Include, Library Directories 에 TBB 관련 경로를 입력한다.
프로젝트의 속성을 편집하는 것은 이 글의 가장 위에서 언급한 사이트로 부터 얻은 정보인데 이 속성을 편집하지 않아도 OpenCV는 에러없이 컴파일 된다. (TBB가 정상동작 할지는 확실하지 않지만...)
이제 ALL_BUILD 만 Build 하면 된다.
인터넷에서 해당 정보를 찾아 보았지만 TBB 를 포함한 컴파일에 대한 설명은 많지도 않고 자세하지도 않았다. 그러던 중 한 사이트(http://blog.csdn.net/effenberg11/archive/2010/07/05/5712724.aspx)를 발견하고 그 실마리를 얻었다.
준비사항
- OpenCV 2.1 (OpenCV-2.1.0-win.zip)
- Intel Threading Building Blocks (tbb30_20100406oss_win.zip)
- CMake 2.8.2 (cmake-2.8.2-win32-x86.exe)
우선 CMake 를 설치한다. 설치하지 않고도 가능하겠지만 많은걸 입력해 주어야 한다.
그리고 TBB 와 OpenCV 를 작업 경로에 압축을 풀어 놓는다. 아래는 이번 작업에 사용 된 폴더 구조이다.
OpenCV 경로 : D:\Work\OpenCV\x86
TBB 경로 : D:\Work\OpenCV\tbb30_20100406oss
설치된 CMake GUI 버전을 실행시킨다. 그리고 소스 코드 경로(Where is the source code)에 OpenCV 의 경로 D:\Work\OpenCV\x86 를 입력하고 바이너리 생성 경로(Where to build the binaries)에 OpenCV 의 경로 D:\Work\OpenCV\x86 를 입력하고 하단의 "Configure" 버튼을 클릭한다.
"Configure" 버튼을 누르면 컴파일러를 선택하는 대화상자가 나오는데 이 대화상자에서 "Visual Studio 10" 과 "Use default native compilers" 를 선택한다.
컴파일러 선택 후 "Configure" 버튼을 클릭하면 온통 붉은색으로 뒤덥힌 리스트를 만나게 된다. 그리고 WITH_TBB 가 체크되지 않음을 확인할 수 있다.
TBB 를 활성화 하기 위해 WITH_TBB 항목을 선택하고 "Configure" 버튼을 누른다.
그러면 TBB에 대한 잘 못 된 항목(TBB_INCLUDE_DIR) 값이 리스트 상단에 표시가 된다.
TBB_INCLUDE_DIR 항목에 TBB 경로의 Include 경로를 지정하고 "Configure" 버튼을 누른다.
다음 에러는 TBB_LIB_DIR 경로 오류가 발생한다.
TBB_LIB_DIR 에 TBB 의 lib 폴더에서 플랫폼과 컴파일러 버전을 맞추어 경로를 선택한다.
경로 설정을 마치고 "Configure" 버튼을 누르면 모든 에러가 해제되고 새롭게 등록된 두 항목을 확인할 수 있다.
그리고 Use TBB 가 활성화 된 것을 확인할 수 있다.
이제 OpenCV를 압축해제 해 놓은 경로(D:\Work\OpenCV\x86)에서 OpenCV.sln 파일을 Visual Studio 2010 으로 열어 ALL_BUILD 프로젝트의 속성 대화상자를 연다.
속성 대화상자에서 VC++ Directories 항목중에서 Executable, Include, Library Directories 에 TBB 관련 경로를 입력한다.
프로젝트의 속성을 편집하는 것은 이 글의 가장 위에서 언급한 사이트로 부터 얻은 정보인데 이 속성을 편집하지 않아도 OpenCV는 에러없이 컴파일 된다. (TBB가 정상동작 할지는 확실하지 않지만...)
이제 ALL_BUILD 만 Build 하면 된다.
Build 를 마치면 Binary 생성 경로에 bin 과 lib 폴더 안에 관련 dll 과 lib 파일이 생성된다.
Labels:
OpenCV
,
OpenCV 2.1
,
TBB
,
Threading Building Blocks
,
TistoryOldPost
2010/10/16
AnkhSVN 으로 Subversion에서 프로젝트 받아오기
2010/10/16 - [Dev Story/Tips] - Visual Studio 를 위한 버전 관리 툴 AnkhSVN 사용하기
AnkhSVN 을 이용하여 Subversion 에 등록한 프로젝트를 다른 곳에서 다운 받아 보았다.
우선 File 메뉴에서 Subversion 의 "Open from Subversion..." 을 선택한다.
Subversion URL 을 입력하면 프로젝트 폴더가 나오고 프로젝트 폴더에 들어가면 Solution(*.sln) 파일이 있는데 이를 Open 한다.
프로젝트를 생성할 경로를 입력하고 "OK" 를 누른다.
그러면 Subversion 서버로 부터 프로젝트를 다운 받는다.
다운받은 프로젝트가 이상이 없는지 컴파일을 해 보았다.
프로젝트를 등록할 때 .lib 와 .dll 파일들이 자동으로 등록이 되지 않는 것 같다. 별도의 옵션이 있는지 확인해 보고 없으면 프로젝트 등록은 TortoiseSVN 같은 별도의 툴을 사용해야 할 것 같다.<
Original Post : http://neodreamer-dev.tistory.com/468
AnkhSVN 을 이용하여 Subversion 에 등록한 프로젝트를 다른 곳에서 다운 받아 보았다.
우선 File 메뉴에서 Subversion 의 "Open from Subversion..." 을 선택한다.
Subversion URL 을 입력하면 프로젝트 폴더가 나오고 프로젝트 폴더에 들어가면 Solution(*.sln) 파일이 있는데 이를 Open 한다.
프로젝트를 생성할 경로를 입력하고 "OK" 를 누른다.
그러면 Subversion 서버로 부터 프로젝트를 다운 받는다.
다운받은 프로젝트가 이상이 없는지 컴파일을 해 보았다.
그런데 문제가 발생하였다. 프로젝트에 포함되어 있던 *.lib 와 *.dll 파일들이 Subversion 서버에 등록이 되지 않아있었다.
프로젝트를 등록할 때 .lib 와 .dll 파일들이 자동으로 등록이 되지 않는 것 같다. 별도의 옵션이 있는지 확인해 보고 없으면 프로젝트 등록은 TortoiseSVN 같은 별도의 툴을 사용해야 할 것 같다.<
Original Post : http://neodreamer-dev.tistory.com/468
Labels:
AnkhSVN
,
Subversion
,
SubVersion Server
,
TistoryOldPost
,
Version Control
,
Visual Studio
Visual Studio 를 위한 버전 관리 툴 AnkhSVN 사용하기
먼저 AnkhSVN 홈페이지에서 설치 파일을 다운로드 받는다. AnkhSVN 은 여러가지 버전이 있는데 최근 안정화 된 AnkhSVN 2.1.8420 버전을 설치 하였다.
새로운 프로젝트 생성 대화상자에도 Add Subversion 메뉴가 생성이 되어 프로젝트를 생성할 때 바로 Subversion 에 등록을 할 수 있다.
기존 프로젝트를 Subversion 에 등록을 하려면 Solution Explorer 에서 해당 프로젝트에서 마우스 오른쪽 버튼을 누르면 Subversion 관련 메뉴가 나오는데 이 중에서 Add Solution to Subversion 을 실행하면 된다.
새로운 프로젝트를 Subversion 에 등록하는 것과 기존 프로젝트를 Subversion에 등록하는 것으 크게 차이가 없다. 여기에서는 기존 프로젝트를 Subversion 에 등록을 해 보겠다.
기존 프로젝트른 Embedded Firebird 를 테스트해 보기위한 간단한 프로젝트이고 Subversion 은 Google에서 제공하는 Google code project hosting 을 이용하였다.
이세 Solution Explorer 에서 소스파일 아이콘 좌측에 등록이 되었다는 (+)아이콘이 표시되는 걸 볼 수 있다. Commit 을 해야 완전하게 등록이 되는 것으로 프로젝트의 마우스 우측 메뉴에서 Commit Project Changes 를 선택한다.
AnkhSVN 을 설치하면 Visual Studio 의 Tools -> Options 의 Source Control 항목에 AnkhSVN 이 표시가 되고 Subversion 에 관련한 설정을 할 수 있다.
새로운 프로젝트 생성 대화상자에도 Add Subversion 메뉴가 생성이 되어 프로젝트를 생성할 때 바로 Subversion 에 등록을 할 수 있다.
기존 프로젝트를 Subversion 에 등록을 하려면 Solution Explorer 에서 해당 프로젝트에서 마우스 오른쪽 버튼을 누르면 Subversion 관련 메뉴가 나오는데 이 중에서 Add Solution to Subversion 을 실행하면 된다.
새로운 프로젝트를 Subversion 에 등록하는 것과 기존 프로젝트를 Subversion에 등록하는 것으 크게 차이가 없다. 여기에서는 기존 프로젝트를 Subversion 에 등록을 해 보겠다.
기존 프로젝트른 Embedded Firebird 를 테스트해 보기위한 간단한 프로젝트이고 Subversion 은 Google에서 제공하는 Google code project hosting 을 이용하였다.
Add Solution to Subversion 에서 프로젝트 이름과 Subversion URL 만 넣어주면 된다.
프로젝테에 대한 적당한 로그를 작성한다.
Google code 에 접속 정보를 입력하면 프로젝트가 Subversion 에 등록이 된다.
이세 Solution Explorer 에서 소스파일 아이콘 좌측에 등록이 되었다는 (+)아이콘이 표시되는 걸 볼 수 있다. Commit 을 해야 완전하게 등록이 되는 것으로 프로젝트의 마우스 우측 메뉴에서 Commit Project Changes 를 선택한다.
Commit 대화상자에는 변경된 파일 리스트와 Log Message 입련하는 곳이 있는데 적당한 메세지를 입력하고 OK 를 선택하여 Commit 한다.
Commit 을 마치면 Solution Explorer 의 파일 아이콘들이 바뀐 것을 볼 수 있다.
Labels:
AnkhSVN
,
Subversion
,
TistoryOldPost
,
Version Control
,
Visual Studio
2010/10/08
Visual C++ 에서 64비트 정수 출력하기
__int64 i64 = 0x12341234abcdabcd;
<
char szDispBuf[1024];
sprintf_s( szDispBuf, 1024,
"%%d => %d \n"
"%%o => 0%o \n"
"%%x => 0x%x \n"
"%%X => 0x%X \n"
"%%I64d => %I64d \n"
"%%I64o => 0%I64o \n"
"%%I64x => 0x%I64x \n"
"%%I64X => 0x%I64X \n"
, i64, i64, i64, i64, i64, i64 );
TRACE("%s \n", szDispBuf );
Output:
%d => -1412584499
%o => 02215011064
%x => 0xabcdabcd
%X => 0x12341234
%I64d => 1311693408901639117
%I64o => 0110640443225363325715
%I64x => 0x12341234abcdabcd
%I64X => 0x12341234ABCDABCD
Original Post : http://neodreamer-dev.tistory.com/465
2010/10/05
Firebird Windows에 수동으로 설치하기
우선 운영체제에 맞는 설치 파일을 선택한다. 32비트는 Firebird-2.5.0.26074-0_Win32.zip 를 64비트는 Firebird-2.5.0.26074-0_x64.zip 를 설치하고자 하는 경로에 압축을 풀어놓는다. (Download Site)
여기서는 F:\Firebird64 경로에 압축을 풀고 작업을 했다.
우선 bin 폴더에 있는 install_super.bat 를 실행하여 서비스를 등록한다.
이제 시스템의 서비스 목록을 확인해 보면 Firebird Guardian 과 Firebird Server 가 등록되어 있음을 확인 할 수 있다.
사실 이것 만으로 설치는 끝난것인데 항상 Firebird 를 운영할 일이 없는 개인 PC 에서 서비스 형태로 돌리는 것이 맘이 들지 않아 Application 형태로 필요할 때에 운영을 하려 한다.
우선 F:\Firebird64\system32 폴더에 있는 Firebird2Control.cpl 를 윈도우의 System 폴더(C:\Windows\System32)에 복사를 한다. 복사를 하고 시작 메뉴의 제어판을 보면 Firebird Server Manager 가 등록 된다.
Firebird Server Manager를 실행하면 Firebird Server Control 이 실행 된다.
Firebird Server Control 에서 현재 운영중이라면 서버를 중지시키고 운영 형태(Run)를 Application 으로 시작(Start)를 Manually로 설정하고 Apply 를 누르고 시작을 한다.
그러면 시스템의 서비스 목록에 등록되었던 두 개의 서비스(Firebird Guardian, Firebird Server)가 사라지고 Firebird 는 Application 형태로 운영이 된다. 시스템의 프로세스 목록을 보면 두개의 프로세스가 동작중인 것을 확인 할 수 있다.
<
Original Post : http://neodreamer-dev.tistory.com/464
여기서는 F:\Firebird64 경로에 압축을 풀고 작업을 했다.
우선 bin 폴더에 있는 install_super.bat 를 실행하여 서비스를 등록한다.
이제 시스템의 서비스 목록을 확인해 보면 Firebird Guardian 과 Firebird Server 가 등록되어 있음을 확인 할 수 있다.
사실 이것 만으로 설치는 끝난것인데 항상 Firebird 를 운영할 일이 없는 개인 PC 에서 서비스 형태로 돌리는 것이 맘이 들지 않아 Application 형태로 필요할 때에 운영을 하려 한다.
우선 F:\Firebird64\system32 폴더에 있는 Firebird2Control.cpl 를 윈도우의 System 폴더(C:\Windows\System32)에 복사를 한다. 복사를 하고 시작 메뉴의 제어판을 보면 Firebird Server Manager 가 등록 된다.
Firebird Server Manager를 실행하면 Firebird Server Control 이 실행 된다.
Firebird Server Control 에서 현재 운영중이라면 서버를 중지시키고 운영 형태(Run)를 Application 으로 시작(Start)를 Manually로 설정하고 Apply 를 누르고 시작을 한다.
그러면 시스템의 서비스 목록에 등록되었던 두 개의 서비스(Firebird Guardian, Firebird Server)가 사라지고 Firebird 는 Application 형태로 운영이 된다. 시스템의 프로세스 목록을 보면 두개의 프로세스가 동작중인 것을 확인 할 수 있다.
<
Original Post : http://neodreamer-dev.tistory.com/464
Labels:
firebird
,
Firebird Install
,
Firebird Service
,
Frebird 설치
,
Free Database
,
Free RDBMS
,
TistoryOldPost
2010/10/04
Firebird 2.5 정식 Release!!
Firebird 2.5가 기나긴 RC 버전 뒤로하고 정식 버전을 공개하였다.
Labels:
firebird
,
Firebird 2.5
,
FREE
,
Free RDBMS
,
RDBMS
,
TistoryOldPost
,
무료
,
무료 데이터베이스
Scrollbar 유무 확인하기
Scrollbar 의 유무를 확인하는 것은 윈도우의 스타일을 확인하면 할 수 있다.
DWORD dwStyle = GetWindowLong( hWnd, GWL_STYLE )
<
if ( dwStyle & WS_HSCROLL )
{
//Horizontal scrollbar is visible
}
if ( dwStyle & WS_VSCROLL )
{
//Vertical scrollbar is visible
}
Original Post : http://neodreamer-dev.tistory.com/462
Labels:
C++
,
GetWindowLong
,
GWL_STYLE
,
scrollbar
,
TistoryOldPost
,
View
,
WS_HSCROLL
,
스크롤바
Subscribe to:
Posts
(
Atom
)