[C#] C++ DLL 을 사용하기.
·
Programming/C#
C++ 을 GUI로 이용하기 위해서는 크게 3가지플랜이 있다. 1. MFC 2. Qt 3. C# 1. MFC는 구데기고 2. Qt는 Qt Core 자체는 나쁘지 않으나 Qt Creator 가 제공하는 환경이 시궁창이라 개발하기 까다롭다. 물론 Visual Studio Extension 기능을 이용하면 안될것도 없으나, LGPL 이라던지, GPL 이라던지... 여러가지 라이센스 조건을 따지며 프로그램을 개발하기는 불편하다. 3. 하지만 Visual Studio C++, C# 은 개인이 상업용으로 앱을 개발하여 팔아도 합법이니 (다만 수익 규모가 일정 이상 넘으면 Visual Studio 를 사야한다.) C++ 코드를 C# 내에 이식하여서 사용하면 그만인 것이다. 그럼 이제 어떻게 하면 되는지 알아보자. 1..
CentOS, Ubuntu QT cannot find -lGL
·
Operating System
Ubuntu sudo apt install libgl1-mesa-dev CentOS sudo yum install mesa-libGL-devel
Ubuntu Qt 5.15.0 실행 시 에러 qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found
·
Operating System/Linux
qt 설치 시 위와 같은 오류가 발생하는데, 한참 찾다가 Qt Forum 에서 그 답을 알 수 있게 되었다.  qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.Fresh install had the same issues reported here. Did what @Srinivas-Reddy suggested and install libxcb-xinerama0 and everything started working. Thanks!forum.qt.io  위 패키지는 linux 상에서 다음과 같은 명령어로 설치 가능 하다.   Ubuntu Linux 20.04 LTS apt install libxc..
[C++] system, WinExec 함수 출력값 받는법.
·
Programming/C++
현재 아주 간단한 프로그램을 제작중에 문뜩 의문이 생겨 포스팅 해 본다. Windows 에서는 system() , WinExec() 함수를 통해, 리눅스에서는 system() 함수를 통해 보통 명령어를 실행한다. 하지만 문제는 명령어를 실행 했을 때, 커맨드 상에 출력되는 값을 받아오고 싶을때는 어떻게 해야 할 지 난감하다. 이에 대한 대안 코드가 StackOverFlow 에 기재되어 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #include #include #include #include #include std::string exec(const char* cmd) { char buffer[128]; ..
CentOS 7/8 Torrnet 사용법, (How to use Torrent client in CentOS 7/8?)
·
Operating System/Linux
sudo yum -y install epel-releasesudo yum repolistsudo yum install transmission-gtk 간단하게 위 명령어로 설치가 가능하다. (CentOS 8 기준)설치되는 프로그램은 transmission 이라는 프로그램 인데, 이를 이용하여 토렌트를 GUI 로 이용할 수 있다.CUI로 이용하는 프로그램은 많으나, GUI 로 이용할 수 있는 프로그램은 transmission 이 참 편리한 듯 싶다. 위 명령어는 가급적 yum update 명령 이후에 실행시켜 주는것이 좋으며,보통 토렌트 마그넷을 열거나 하면 알아서 연동할거냐는 알림창이 뜬다. 그때 transmission 을 선택 해 주고 저장하면앞으로 쭉 토렌트를 이용할 수 있다.   실행 명령어는 'tr..
어떻게 특정 .h 가 dll, lib 와 매칭되는지 알 수 있나?
·
Programming/C++
Determine .lib / .dll with header file I have 3rd party library in my program. For example : #INCLUDE #INCLUDE int main(int argc, char** argv) { // some stuff } How do i know stackoverflow.com 결론적으로 말하면 손쉽게 찾을 수 없다. 주석 등을 이용해 추측해야 하며, 자동으로 어떤 헤더와, dll, lib 가 매칭되는지 알 수 있는 방법은 없으며, 이는 반대 역시 마찬가지이다. (dll, lib 로 .h 를 찾기) 가장 좋은 방법은 해당 동적 라이브러리를 배포한 제작자에게 물어 보는 것이다.
GOTO 를 쓰지 말라는 '개소리'
·
Miscellaneous
언제부턴가 C, C++ 내에서 GOTO 문은 '금기' 시 되었다.필자 역시 첫 S/W 수업을 들을때 GOTO 문을 '쓰지말라' 는 취지의 교육을 받았었다. 하지만 이는 명백히 잘못된 '교육' 이다.GOTO 문은 굉장히 강력하며, 적재 적소에 사용하면 코드의 최적화를 이뤄내는데 유용한 구문이다.  Q_. 일개 블로거가 뭔데 교수가 말하는거에 반박임?GOTO 문은 '리눅스 커널' 에서도 굉장히 '빈번' 하게 사용된다.위 구문은 리눅스 내 `cpu.c` 파일 내에 에러처리를 위해 goto 문이 사용된 정황이다.`cpu.c` 파일 내에는 이러한 에러처리를 위한 goto 문이 19번 사용 되었다. torvalds/linuxLinux kernel source tree. Contribute to torvalds/li..
[C++] 템플릿 특수화에 관해서
·
Programming/C++
#include using namespace std; // [class] this is just original template template class A { public: A(alpha one, beta two) { cout
CMake MSB3073 SetLocal 오류 해결 방법.
·
Tools/Etc
[Windows / Visual Studio 환경에서 운용 시 버그] MSB 3073 오류는 CMake 가 Make 작업을 처리하는 도중 필요한 파일을 읽거나, 쓰는데에 있어서, 해당 파일들에 관해 '권한' 이 존재 하지 않을 때 발생하는 오류이다. CMake 실행, Visual Studio 실행과 같은 일련의 모든 과정들에 대해서 반드시 '관리자' 권한으로 실행할 것을 권장한다. 더해서 위와 같은 방법으로 완전히 해결이 되지 않을 수 있다. 그럴땐 다시 돌아가서, 반드시 실제 Build 하는 Visual Studio 의 버전과 CMake 에서 Configuration 시 사용했던 Visual Studio 버전을 같이 맞춰주어야 한다는 점을 명심하자. Visual Studio 도 여러 버전이 나오면서 같..
Visual Studio 2013, 2015 완벽하게 삭제하기.
·
Tools/Etc
Visual Studio 2013, 2015 를 제거할때 /uninstall /force 커맨드를 이용해서 제거 할텐데, 이러면 모든 요소가 제거되지 않는다. microsoft/VisualStudioUninstaller Visual Studio Uninstallation sometimes can be unreliable and often leave out a lot of unwanted artifacts. Visual Studio Uninstaller is designed to thoroughly and reliably remove these unwanted arti... github.com 이럴 땐 MS에서 직접 제공하는 VisualStudio Uninstaller 를 이용하면 거의 완벽에 가깝게 프로..