전체 글 264

[C++] 비정적 맴버 참조는 특정... / 형식 이름을 사용할 수 없습니다. / 추상 클래스 개체

c++ 테스트 코드를 작성하면서 발생한건데 검색해보면 많이 확인할 수 있다. 먼저 필자는 순수 가상 함수를 가지는 추상 클래스의 개체를 생성하려고 한것이 문제였다. 그것을 제대로 모르고 해당 순수 가상 함수를 &연산자를 사용하여 참조할 수 있도록 주소 객체를 만들고 그 객체로 접근하려다 보면..... 산으로 빠져버린다.. 과연 아래코드는 컴파일이 될텐데 에러가 없을까..? 에러 내용만 보고 고치면 이렇게 고칠수 있다... 이를 피하려면 문제의 원인이 추상 클래스임을 알고 추상 클래스가 상속된 파생 클래스의 개체를 생성해서 사용할 수 있다. 항상 코드가 어떻게 구성되어 있는지 잘 보자.. 쉽지 않겠지만.. 문제는 아래처럼 단순하면 금방 발견할수 있는데... 코드가 복잡하고 많다보니 쉽게 발견못할수도 있다...

빨간색 에러들 2022.05.17

[Windows update] 업데이트 되돌리기 / 파일 탐색기 에러 couldn't find explorer

보통 윈도우 10 업데이트를 꺼놓는데 사내 PC는 최신 업데이트를 받는다. 그리고 보통 목요일 오후에 그 작업이 이루어지는걸로 보인다. 그렇게 있는데.... 문제는... 업데이트 이후.... 어디선가.. 충돌이 났는지... 우선 찾아보니 에러는 아래와 같다... : C:\Windows\Logs\WindowsUpdate 파일탐색기에서 에러가 났고 Refersh 기능에 문제가 있었다. 새폴더 생성 및 삭제가 바탕화면 및 파일탐색기에서 바로 보이지가 않았고 새로고침하거나 다시 뒤로갔다 돌아와야 생성과 삭제가 되는것을 볼 수 있었다.. 이게 freecommand에서도 마찬가지 였다... 관련된 글을 찾아보면.. 1. 파일탐색기 프로세스 재시작 -> 처음에 제대로 동작한 후, 두번째부터 다시 문제가 발생 2. 레..

빨간색 에러들 2022.05.01

[C++] error: ISO C++ does not permit :: initialize the protected static member / undefined reference static member

C++을 공부하는데 static 변수가 좀 특이한것을 확인할 수 있다. 특히, static 변수의 경우 컴파일러에 따라 특징을 나타낼수 있었다. VS에서는 inline 키워드를 함부로 사용할 경우 컴파일 에러를 나타낸다. 하지만, GCC에서는 컴파일 에러가 나타나지 않는다. 또한, GCC에서는 표준에 따라 차이가 있는데 static 키워드의 정의를 할수 있는가? 초기화는? class 내부에 선언된 static 변수를 사용할때 어떻게 해야하는가..? 아래 코드가 VS에서 그리고 Gcc c++17 문법에서 inline이 있을때와 없을때 어떻게 되는지 확인할 수 있다. 간단히 보면 GCC에서는 inline 키워드로 static 변수를 class 선언 파일에서 바로 정의가 가능하다. VS에서는 inline 키워..

빨간색 에러들 2022.05.01

[C++] ERROR: Deleted function unique_ptr

C++ Idiom을 알게되면서 꼭 정리하고 배워야 할 내용이 있다. 더 찾아봐야겠지만, Pimpl과 Factory 클래스, templete 패턴 등 적용하고 알아야할게 많았다. 지금은 Pimpl에 익숙하도록 하고 있는데 적용중에 발생한 문제다. 위의 에러가 발생하면서 곤란했는데.. 음 Piimpl을 사용할때는 복사 생성자.. copy constructor를 꼭 지정해주도록 하는게 좋아보인다. 이 외에 Impl 클래스나 구조체에서 생성자를 선언만 하지말고 {}로 정의해주는것을 잊으면 안된다. 또한, operator= 연산자에 대해 swap 함수를 사용해 Pimpl을 스왑한다. https://stackoverflow.com/questions/21943569/deleted-function-unique-ptr ..

빨간색 에러들 2022.04.24

[React-native] 개발 환경 설정: Mac

약 5년정도 안쓰고 묵혀둔 맥을 꺼내들었다. 이걸로 Native 앱 개발환경을 마추고자 했는데 하루종일 걸리면서 부트캠프의 윈도우도 날렸는데 생각보다 맥이 빠르고 개발할떄 좋다는 생각이 든다. 간단하게 정리하면 아래와 같다. 1. App store에서 현재 설치할수 있는 버전인 Montery를 다운받아 설치한다. 신경 안쓰려고 했는데 Node 설치를 할때 구버전이라 그런지 설치가 완벽하지 않아서 OS 업데이트가 필요해 보였다. 그리고 실행하면 모든것이 끝난다. 이제 맥의 버전은 12.3.1 이 되었다. 이 이상은 더이상 지원을 안하는건지 아직 안나온건지 잘 모르겠지만 나름 최신이다. 2. Xcode 재 설치 이게 너무 오래 걸렸다.. 쓰레기라고 말하는 이유가 있는데 기존이 9버전이 있어서 그런지 App ..

Mac | ios 2022.04.17

[Xcode] Code signing is required for product type 'Application' in SDK

처음 사용하는데... 이것때문에 진짜 너무 많은 시간을 허비했다... 문제는 아카이브 빌드였다. 에뮬레이터로 빌드했을때는 문제없이 성공했는데 이상하게 아카이브 빌드는 실패한다.. 뭔가 이상하다.. 그러면서 발견하게 된 2개의 기능을 찾았다.. 1. 먼저 아카이브 빌드가 에뮬레이터로 하면 활성화 되어 있지 않을텐데 에뮬레이터가 아닌 Generic IOS Device로 설정하면 아카이브 빌드가 활성화된다. 2. Build가 실패했을때.. 아니 무슨 에러 내용이 없길래 무슨 에러인지 찾는게 너무 힘들었다.. 그 내용은 아래 그림에서 찾을 수 있었다. Xcode의 상단과 우측 상단에 에러내용이 표시되었다... 이런 상황에서 문제의 원인은 Project Target의 Singing 이였다.... 지금은 해결해서 ..

빨간색 에러들 2022.04.16

[Mac / ios] xcode 설치

오랜만에 맥북을 부활시켜 예전에 초기화된 맥을 부팅했다. 간단한 ios 앱을 테스트하려고 개발 환경을 설치하려 했는데... 음 Xcode 툴이 필요했고 Flutter나 React native가 아닌 Swift를 한번 사용하고자 한다. 문제는 이 Xcode를 찾아보니.. 스토어애서 하면 문제가 많으니 애플 공식 개발자 사이트를 활용하라고 되어있다. 거기서도 찾기 귀찮을수 있으니 stackoverflow에 업데이트 되고 있는곳을 참고해서 바로 설치할수 있었다. 또한, 여기서 중요한점은 바로 버전이다... 필자의 경우 Mac이 오래되어 현재 최신버전을 해도 Mac이 10.12.6 버전이다... 이 버전의 경우 최신 Xcode를 사용할 수 없고 9 버전을 사용할수 있으니.... 버전에 따라 잘 설치해야 한다. ..

Mac | ios 2022.04.16

[jenkins] 내 프로젝트: 빌드 유발 / 조치 적용해보기

여기서는 프로젝트를 통해 어떤 프로젝트가 끝나고 빌드 유발에 대해 잠깐 확인한다. 여기에 있는것처럼 간단히 프로젝트의 이름을 써주면 된다. 그리고 이것을 지금 빌드한 결과에 따라 실행하도록 설정할 수 있다. 여기서는 Unstable 결과 이상에서 자동으로 다음 프로젝트 빌드가 이루어진다. Test가 끝난후, 이렇게 빌드목록에 해당 프로젝트가 들어간것을 확인할 수 있다. 이제 이 프로젝트의 빌드 후 조치에 대해 간단하게 알아본다. 먼저, Func의 DashBoard는 아래와 같다. 상위 프로젝트에 Test가 있는것을 확인할 수 있다. 작업 공간을 보면 내가 설정한 경로에 git clone으로 복사하고 설정한 브랜치로 체크아웃한 결과를 확인할 수 있다. 이 프로젝트는 C++ 프로젝트인데 cmake를 사용하고..

Jenkins 2022.04.13

[GCC] vscode cmake debug not working / Windows GCC Install

vscode로 gcc 컴파일러를 사용해서 c++ 을 하고 있는데.. 어느순간부터 cmake 확장에서 제공하는 gdb 디버그가 안됐다... 경로에 가보니 실제로 gdb.exe가 없기도 했고.. 이래와 같은 문제가 계속 발생했다.. https://github.com/microsoft/vscode-cmake-tools/issues/965 Can't debug in Visual Studio Code · Issue #965 · microsoft/vscode-cmake-tools Brief Issue Summary Can't make the Visual Studio Code debugger work. Expected: Run CMake Configuration The result: [cmake] Configurin..

빨간색 에러들 2022.04.07

[Encoding] Windows 파일 인코딩 확인

대부분이 알수도 있다. 보통은 Notepad++이나 vscode 에디터에서 인코딩을 제공하고 저장 형식을 바꿀수 있다. vscode는 아래와 같다. 아래 보면 EUC-KR임을 확인할 수 있다. Notepad++에서는 ANSI로 뜰테인데 EUC-KR과 비슷?하며 CP949와도 비슷하다. 인코딩과 관련된 자세한 내용은 네이버 개발자 블로그를 확인하자. https://d2.naver.com/helloworld/19187 윈도우 시스템의 인코딩 방식은 아래와 같이 확인할 수 있다. 우선, 프로그램을 돌리던 중 항상 인코딩 문제가 발생하는데.. VS에서 컴파일할때 사용하는 인코딩 방식(UTF-8)과 우리가 처리하는 인코딩 방식, 그리고 파일의 인코딩 처리가 모두 제각각이기 때문에 이런 인코딩을 맞추는 작업에서 파..

기타 2022.04.03