반응형

전체 글 259

[C++] VS 2017/C++14 에서 VS 2022/C++20 마이그레이션 에러 정리

현재 Windows 환경에서 Visual Studio 2017 / C++14 피처를 사용하는 프로젝트이다. 이 프로젝트의 컴파일러와 피처를 업데이트하면서 발생하게 된 에러를 정리해본다. 업데이트 이유는 최신 VS IDE에서 sanitizer도 지원하고 최신 C++ 피처 사용등이 가능하기 때문이다. (덕분에 템플릿 관련쪽을 concepts으로 바꾸는 작업도 공부할 수 있었다.) 이제 하나씩 정리해보자. 1.c2872 'byte' ambiguous symbol 컴파일시 이런 에러가 발생하는데... byte 키워드가 이상하단다.. 컴파일러의 헤더파일에서 발생한다. https://developercommunity.visualstudio.com/t/error-c2872-byte-ambiguous-symbol/93..

C , C++, C# 2024.02.20

[Vtune] WSL2로 remote ssh 설정하기

Vtune으로 memory access / microarchitecture exploration 확인하기 위한 정리이다. 1. 먼저 대부분 vTune을 SSH Linux로 연결하여 확인하길래 필자도 WSL2 환경에서 한번 연결을 시도하였다. http://interp.blog/vtune-memory-bandwidth/ Intel VTune Memory Bandwidth 분석하기 Intel VTune 으로 Memory Bandwidth 를 분석하려면, 분석할 수 있는 커널 드라이버를 로딩시켜야 한다. (참고로 메모리 분석은 리눅스에서만 가능하다.) 해당 작업을 하지 않고 ‘General Exploration > Analyze me interp.blog 위 글을 보면 알 수 있으며 필자는 readme.txt까..

C , C++, C# 2023.12.20

[Windows C++] 레지스트리 값 읽기

기존 글에서, 윈도우 레지스트리를 설정한 작업이 있었다. 그렇다면 C++ 코드에서 해당 레지스트리 값을 확인할 필요가 있을 수 있다. https://stackoverflow.com/questions/66328789/c-cant-read-registry-value-data C++ Can't read registry value data Was recently working for a client and need to read a value from registry. So I wanted to start off by trying something simple, reading the system Guid from the registry. This is the code that I'm u... stackoverf..

C , C++, C# 2023.09.10

[Windows C++] Visual Studio에서 긴 경로 제한 해제하기 with CMake

https://vhxpffltm.tistory.com/274 위 내용의 후속으로 아래 글을 이용해서 VS 솔루션으로 바이너리 실행시 정말 긴 경로를 잘 인식하는지 설정해야한다. 먼저, 레지스트리 편집기를 통해 긴 경로를 설정해도 VS의 바이너리에서는 런타임에 적용이 안되는 문제가 있을 수 있다. https://stackoverflow.com/questions/71602123/how-to-enable-long-path-aware-behavior-for-setting-the-current-directory-in-a How to enable "Long Path Aware" behavior for setting the current directory in a C++ windows console app In a ..

빨간색 에러들 2023.09.04

[Windows C++] 파일 최대 경로 길이 제한

먼저, 이게 나온게.. 전처리 경로의 파일을 찾다 나온것인데... 상대 경로로 지정될때, 파일을 찾을 수 없다고 한다... 그런데 260자가 넘어가도 경로를 지정하면 잘 된다. ../ | ./ 와 같은 슬래시 및 마침표를 적용한 것은 사용할 수 없다는 것이 MS의 설명이다. 최대 경로가 260자가 넘어가면 접두어에 \\?\ 이 사용되며 이것이 적용된 이상 슬래시와 마침표는 사용할 수 없다.. https://learn.microsoft.com/ko-kr/windows/win32/fileio/maximum-file-path-limitation?tabs=registry 최대 경로 길이 제한 - Win32 apps 최대 경로 길이 제한. learn.microsoft.com 이를 풀어주는 것은 쉽게 찾을 수 있듯..

빨간색 에러들 2023.08.29

MSVC: D8040: 자식 프로세스를 만들거나...

CL 컴파일러를 사용하면서 이제까지 잘 되던 빌드가 깨지는 문제가 있었다. 무슨 컴파일을 하는데.. sqlite와 관련한 DB API 코드쪽에서 컴파일 에러가 발생했다. 흠.. 코드 변경사항도 없고 빌드가 먼저 시작되는 부분이고.. DB 관련이라 느낌이 쌔했는데 역시나 프로젝트 경로에 한글이 있어서 문제였다. 경로에 "과제" 라는 한글이 있었고 해당 경로를 영문으로 변경하여 처리하였다. 항상 변경점을 잘 생각해보고 확인해보자. VS 2019로 업그레이드 하라는 VS 포럼도 있는데 여기에 낚이지 말자...

빨간색 에러들 2023.08.20

Zoom 동영상 변환 안될때: zTscoder.exe

세미나 녹화를 다 뜨고 있었는데 Zoom의 녹화 저장 경로에서 zoom파일 컨버팅이 안되는 경우가 있다. 필자도 열심히 찾아보고 뭐 이리저리 찾아서 해보면.. 보통 zTscoder.exe로 연결 프로그램 설정해서 실행하면 컨버팅이 된다고 한다... 단연, 그렇게 해봤는데 안돼니 여기다 정리하고자 한다. 먼저, 줌 녹화 디렉토리 경로에.. tmp? 파일 형식이 있는지 확인하는게 좋다. 아마, 이 파일 유무에 따라 컨버팅 진행이 되는걸로 보인다. 재현 방법은 녹화를 진행하다 정지시켜서 해당 녹화부분을 먼저 컨버팅하고 다음 다시 녹화를 진행해서 녹화를 종료하게 되면 뒷부분은 무슨 짓을 해도 녹화 컨버팅이 되지 않는 경험을 할수 있다. 다행히 약간의 트릭을 써서 뒤에 녹화한 부분들을 저장하는 방법은 아래 링크처..

기타 2023.08.13

[pytube/pydub] Python으로 오디오 편집하기

예식에 필요한 음원을 준비하던중 음.. 뭔가 왠지 온라인 변환기로는 사용하고 싶지 않았다. 또한, 음원의 구간을 잘라야했는데.. 이걸 온라인에서 하기가 뭔가 좀 그랬다 그래서, Youtube로 음원을 받고 mp3 파일을 편집하기로 했다. ChatGPT는 yotube_dl 패키지를 소개하지만, 필자는 pytube 라이브러리를 사용했다. 물론, 이 코드는 쉽게 이해되고 똑같은 코드도 구할수 있을것이다. 다음엔 생성된 mp3 파일을 편집한다. pydub의 AudioSegment를 사용하면 된다. 먼저, 실행중에 에러가 발생할수 있는데 ffmpeg / ffprobe / ffplay 바이너리가 필요할수 있다. 파이썬 스크립트와 같은 경로에 두거나 위 코드처럼 세팅이 필요할수 있다. from_file로 파일을 읽어..

python 2023.06.13

[CMake] VS 2022 CMakePresets error using toolset

VS 2022 최신 버전에서 CMake를 지원해주는데 이번 최신 피처에 Configuration 관련해서 다양한 기능을 제공한다길래 사용해보려고 했다. 결론은.. Error로 인해 적용못했지만, 깃헛 이슈에도 물어보고 한번 처리해 봐야할듯하다. 이것이 된다면, Ninja 제너레이터에서 VS 2022 IDE로 v141 2017 툴셋으로 쉽게 환경을 구성하고 빌드할수 있을것 같다. 먼저, CMakePresets.json을 보자 "configurePresets": [ { "name": "debug", "description": "default debug preset", "hidden": true, "installDir": "${sourceParentDir}/install/debug", "cacheVariabl..

C , C++, C# 2023.06.05

Git ip 주소 또는 URL 변경시 적용

IP 주소가 바뀌면서 기존에 작업하던 모든 주소가 바뀌게 되었다. 물론 system 폴더의 hosts 파일의 내용에 URL로 적용되어 있다면 문제가 없을거 같은데 필자는 IP 주소를 이용하고 있었다. IP 주소가 바뀌니 Git 레포지토리의 갱신, 푸시 등의 모든 기능이 멈추어 있었다. 기존 로컬의 레포지토리르 바뀐 IP로 변경하여 적용시켜야 한다. https://stackoverflow.com/questions/2432764/how-do-i-change-the-uri-url-for-a-remote-git-repository How do I change the URI (URL) for a remote Git repository? I have a repo (origin) on a USB key that I ..

반응형