Visual Studio 9

Windows10 CUDA + OpenCV 4 빌드 에러 LINK : fatal error LNK1181: '..\..\lib\Release\opencv_world440.lib'

Microsoft Visual Studio 2019를 활용해서 OpenCV에서 CUDA 좀 쓰려고 빌드를 하려는데 에러를 막 토해낸다. 에러 코드는 다음과 같은 에러들이 막 쏟아져 나왓다. LINK : fatal error LNK1181: '..\..\lib\Release\opencv_world440.lib' 입력 파일을 열 수 없습니다. "opencv_perf_core.vcxproj" 프로젝트를 빌드했습니다. - 실패 원인을 찾아보니까 OpenCV 자체가 문제가 아니라 CUDA 버전이 문제였다. CUDA 10.0은 Visual Studio 2017까지만 빌드가 가능하고, 그 이후 버전을 이용해야 한다. 나는 이걸 두 번이나 삽질하고 나서 CLI로 빌드를 돌려보고 나서야 알았다.

Library/OpenCV 2020.08.29

Visual Studio 디버깅에서 메모리 값 확인하기

포인터, 변수의 주소에 대해서 그냥 책으로 그림만 그려가면서 공부하면지나치게 추상적으로 받아들여지고 실제로 그렇게 작동하는지 의심을 할 수도 있다.실체를 눈으로 보길 원하는 사람들에게 이건 반드시 그렇게 동작한다고 이야기하거나, 그냥 무작정 이렇게 돌아가니까 그런 줄 알고 활용만 잘하면 된다라고 하기보다는 직접 보여주는 게 좋은데, 비주얼 스튜디오(Visual Studio)의 편리한 디버깅 툴을 이용하면 어렵지 않게 실제 메모리에 어떻게 할당되는지 볼 수 있다. #include #include using namespace std; class Student { public: string name; int sNo; void Print(); static int studentNumber; static Stude..

C, C++] stdafx.h와 C2065(선언되지 않은 식별자입니다.)

비주얼 스튜디오(Visual Studio)로 코딩을 입문한 사람들이 자주 마주하는 오류 중 하나가 바로 "stdafx.h", 프리 컴파일 문제일 것이다. 입문자들 입장에선 프리컴파일이나, "stdafx.h" 같은 것이 뭔지 전혀 모르는 상황에서 이것이 무엇이라고 설명하는 건 크게 의미가 없을 것 같고, 이 게시물에서는 저 오류를 만났을 때 해결하는 방법을 이야기해볼까 한다. 이 문제는 특히 stdio.h(printf, scanf)가 아니라 iostream(cin, cout)을 사용할 때 주로 발생하는 문제인데, 이는 기본적으로 stdafx.h에 stdio.h가 미리 컴파일할 헤더 파일로 포함되어 있기 때문이다. stdafx.h // stdafx.h : 자주 사용하지만 자주 변경되지는 않는 // 표준 시스..

깃허브(GitHub) fatal: HttpRequestException encountered

난 데 없이 깃이 문제를 일으켰다. 'fatal: HttpRequestException encountered.'라는 메세지를 띄우면서 Visual Studio와, Git Bash에서 제대로 푸시되지 않는 문제가 생겼다. 이런 메세지는 처음이지만, 이렇게 깃이 정상적으로 작동하지 않는 경우는 종종 겪어봐서 나름의 해결책을 가지고 있었다. Visual Studio에서 GitHub에 문제가 발생하는 경우는 GitHub에서 공식적으로 제공하는 확장툴을 업데이트를 해주면 문제가 해결되곤 했는데, 이번엔 아니었다. 그 결과 온갖 오류를 내뿜으면서 수동으로 SSH연결을 수동으로 계속 해주면서 푸시(Push) 작업을 수행하긴 했지만, 이대로 방치할 수는 없는 상황이라 여러 방면으로 알아봤다. 이럴 땐 구글링을 해야 하..

C,C++] Visual Studio와 컴파일러

요즘 대학교 전산실 컴퓨터 성능이 기본적으로 멀티코어에 8GB의 램을 깔고 가는 경우가 많다 보니, 통합개발도구(IDE)로 Visual Studio 커뮤니티를 사용하는 경우가 많다. 그 언어 자체의 특성과 프로그래밍에 대해서 다루기 때문에 컴퓨팅 성능이 문제가 되지 않는다면 Visual Studio가 제공하는 여러 환경만큼 입문하는 사람에게 좋은 것은 없다. 이렇게 입문하고서 한창 프로그래밍을 즐기다가 자료구조, 알고리즘 등을 접하고, 좀 더 자신의 실력을 향상시키기 위해서 백준 온라인 저지(BOJ)나, 알고스팟 등의 사이트에서 제공하는 문제를 풀다보면 Visual Studio에서는 정상적으로 작동함에도 불구하고 채점 시 컴파일 에러를 띄우는 문제를 접하게 된다. 예를 들자면, strlen()을 사용하는..

Visual Studio 2017 업데이트 후 Win32 Console Application(콘솔 응용프로그램)

Visual Studio Installer를 이용하여 별도로 수정, 복구해 삭제된 경우가 아니라면 이 상황에 해당될 것이다.필자도 여느 때처럼 C++을 이용해서 알고리즘 문제를 풀려고 했는데 갑자기 삭제되어 많이 당황했다.전날 손 댄 것이라곤 SDK 설치와 비쥬얼 스튜디오 업데이트 뿐이었는데 갑자기 증발했다. 다짜고짜 이 템플릿은 이 설치에 없다면서 제거해버리라니.방법이 없어서 일단 수정과 복구를 반복했지만 결과는 동일했다.사실 빈 프로젝트를 선택하면 기존 방법과 동일하게 작성할 수 있지만,건드린 것 하나 없이 이런 일이 생겼다는 것이 수상해 뒤적거리던 중,안드로이드 SDK 설치가 이런 문제를 일으킬 일은 없고, 전날 했던 업데이트로 인해 뭔가 잘못된 것을 직감했다. 이 모든 일은 최근 업데이트와 관련이..

Visual Studio(비쥬얼 스튜디오)에서 Android SDK 경로 설정 방법

아는 사람들은 알겠지만, 꽤 오래 전부터 Visual Studio(비쥬얼 스튜디오)에서도 안드로이드 어플 개발이 가능했다.그뿐만 아니라 iOS, Windows Mobile까지 훌륭한 이식성을 바탕으로 크로스 플랫폼 개발이 누구나 가능한데, 이 모든 것은 Xamarin(자마린)이 만들어 낸 결과다. 거기에, 자마린을 인수해 그것을 무료로 풀어버린 마이크로소프트의 기여 정신까지 더해진 결과. 안드로이드 스튜디오를 배척하는 것은 아니지만 좀 더 새로운 것을 해보고 싶고, 자주 다루는 C#을 이용하고 싶어서 자마린을 시작했다. 안드로이드와 함께 양대 모바일 OS라 불리는 iOS는 테스트할 환경조차 없지만 말이다. 안드로이드 개발을 해본 사람들이라면 알겠지만 다양한 버전의 SDK를 막 설치하다 보면 설치 경로의 ..

API] SetWindowsHookExA 함수

SetWindowsHookExA function 123456HHOOK WINAPI SetWindowsHookEx( _In_ int idHook, _In_ HOOKPROC lpfn, _In_ HINSTANCE hMod, _In_ DWORD dwThreadId);cs user32.dll에 있는 해당 함수를 통해 훅을 설정할 수 있음.대표적인 함수로, MSDN에서 해당 함수의 구조와 사용법에 대해서 알 수 있음. 첫번째 인자, 훅 타입으로 어떤 종류의 메세지를 후킹할 것인지 선택하는 것두번째 인자, Hook Procedure세번째 인자, 후킹할 스레드가 속해 있는 DLL의 핸들네번째 인자, 후킹할 스레드 아이디 첫번째 인자에 들어갈 훅 타입은 구글링으로 체크 가능두번째 인자로 사용할 훅 프로시저, 파이썬의 경..

C,C++] Strlen와 동일한 기능을 하는 함수 구현

사실 함수 구현이라고 적어두긴 했으나,strlen과 비슷한 함수를 작성한 것 뿐이며,포인터를 이용하거나 하지 않았기 때문에,사용자가 정의한 함수라고 보기도 어렵다.그저 이러이러한 논리로 strlen과 비슷할 것이다가 전부일 뿐이므로, 오해는 금물이다.이 소스를 int str_len(char *s)와 같은 함수를 이용하여 strlen함수와 유사하게 만들 수 있다. 12345678910111213141516#include #include using namespace std; int main(){ char str[40] = "Make String Library Function"; int func, i = 0; func = strlen(str); while (str[i] != 0) i++; cout