일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 |
Tags
- c# 추상 클래스
- github
- 깃
- Python
- docker
- c# 윈폼
- 도커
- C++
- Data Structure
- C# delegate
- Flutter
- c#
- jupyter lab
- Algorithm
- Houdini
- git
- jupyter
- 유니티
- vim
- Unity
- dart 언어
- 구조체
- C언어 포인터
- 다트 언어
- HTML
- gitlab
- c# winform
- c언어
- 포인터
- 플러터
Archives
- Today
- Total
nomad-programmer
[Development/WASM] Qt6와 웹 어셈블리 연동 본문
나는 Qt6.7을 설치하면서 Qt를 위한 웹 어셈블리 패키지도 함께 설치하였다. 그래서 WASM SDK를 잡아주어야 한다.
https://emscripten.org/docs/getting_started/downloads.html
그런데 내가 설치한 Qt 버전과 호환성이 좋은 WASM 버전을 설치해야하는데, 어느 버전을 설치해야 하는지 갈팡질팡할 수 있다. 아래는 그 질문에 대한 답이 나와 있다.
https://doc.qt.io/qt-6/wasm.html#install-emscripten
위 사이트가서 확인해보면, Qt6.7의 경우 SDK의 버전은 3.1.50 이다. 그래서 해당 버전을 설치하였다.
Emscripten 설치
# 소스 다운
git clone https://github.com/emscripten-core/emsdk.git
# 해당 디렉토리로 이동
cd emsdk
./emsdk install 3.1.50
./emsdk activate 3.1.50
Web Assembly Build & Test
간단한 main.cpp 파일을 생성한다.
#include <iostream>
int main() {
std::cout<<"Hello World!"<<std::endl;
return 0;
}
그 후 main.cpp를 컴파일하면, javascript 파일이 생성된다. 이것을 node를 통해 실행하면 터미널에 Hello World!가 출력된다.
# 빌드
em++ main.cpp
# Run
node a.out.js
HTML 파일을 생성하는 방법
# html 파일 생성
em++ main.cpp -o main.html
# Run
emrun main.html
Comments