前提
C++17にて、アプリを容易に作成できるSiv3D(https://siv3d.github.io/ja-jp/ )というフレームワークを使ってプログラムを作成しようとしています。
エディタはVisual Studio Codeです。
まず最初に、正常にincludeできるかどうか確かめるために何もメインの処理を書かないプログラムを作成しました。F5キーにてコンパイルを行おうとしました。しかし、コンパイル前に以下に書くようなエラーメッセージが発生しました。
実現したいこと
・Siv3D.hppを正常にincludeする。
発生している問題・エラーメッセージ
Visual Studio Codeで表示されたメッセージをコピーしたものです。3つ表示されました。
[{ "resource": "/c:/Users/Kitsune/Documents/Programing/Code/Cpp/GameTemplate/Test.cpp", "owner": "C/C++", "code": "1696", "severity": 8, "message": "#include エラーが検出されました。includePath を更新してください。この翻訳単位 (C:\\Users\\Kitsune\\Documents\\Programing\\Code\\Cpp\\GameTemplate\\Test.cpp) では、波線が無効になっています。", "source": "C/C++", "startLineNumber": 1, "startColumn": 1, "endLineNumber": 1, "endColumn": 21 }]
[{ "resource": "/c:/Users/Kitsune/Documents/Programing/Code/Cpp/GameTemplate/Test.cpp", "owner": "C/C++", "code": "1696", "severity": 8, "message": "ソース ファイルを開けません \"tbb/blocked_range.h\" (dependency of \"Siv3D.hpp\")", "source": "C/C++", "startLineNumber": 1, "startColumn": 1, "endLineNumber": 1, "endColumn": 21 }]
[{ "resource": "/c:/Users/Kitsune/Documents/Programing/Code/Cpp/GameTemplate/Test.cpp", "owner": "cpptools", "severity": 8, "message": "Siv3D.hpp: No such file or directory", "source": "gcc", "startLineNumber": 1, "startColumn": 10, "endLineNumber": 1, "endColumn": 10 }]
該当のソースコード
Test.cppが今回問題が起きたソースコードです。
.vscode/c_cpp_properties.jsonはVisual Studio Codeが自動的に生成したものに、コンパイラにMinGWのg++.exeを設定し、該当するincludePathを追加したものになっています。
その他の.vscode/~はVisual Studio Codeが自動的に生成して何も変更を加えていないファイルです。
C:/Users/Kitsune/Documents/OpenSiv3D_0.6.5はSiv3D(https://siv3d.github.io/ja-jp/ )の案内通りにダウンロードしたものとなっています。
また、C:/Users/Kitsune/Documents/OpenSiv3D_0.6.5/includeにはSiv3D.hppが存在していることを確認しています。
以下のプログラムの存在位置は、C:\Users\Kitsune\Documents\Programing\Code\Cpp\GameTemplate\です。
C++:Test.cpp
1#include <Siv3D.hpp> 2 3void Main() {}; // Siv3DではmainではなくMainを使用する
json:.vscode/c_cpp_properties.json
1{ 2 "configurations": [ 3 { 4 "name": "MinGW", 5 "includePath": [ 6 "${workspaceFolder}/**", 7 "C:/Users/Kitsune/Documents/OpenSiv3D_0.6.5/include", 8 "C:/Users/Kitsune/Documents/OpenSiv3D_0.6.5/include/ThirdParty" 9 ], 10 "defines": [ 11 "_DEBUG", 12 "UNICODE", 13 "_UNICODE" 14 ], 15 "windowsSdkVersion": "10.0.19041.0", 16 "compilerPath": "C:\\MinGW\\bin\\g++.exe", 17 "cStandard": "c17", 18 "cppStandard": "c++17", 19 "intelliSenseMode": "gcc-x64", 20 "compilerArgs": [] 21 } 22 ], 23 "version": 4 24}
json:.vscode/settings.json
1{ 2 "files.associations": { 3 "filesystem": "cpp" 4 } 5}
json:.vscode/tasks.json
1{ 2 "tasks": [ 3 { 4 "type": "cppbuild", 5 "label": "C/C++: g++.exe アクティブなファイルのビルド", 6 "command": "C:\\MinGW\\bin\\g++.exe", 7 "args": [ 8 "-fdiagnostics-color=always", 9 "-g", 10 "${file}", 11 "-o", 12 "${fileDirname}\\${fileBasenameNoExtension}.exe" 13 ], 14 "options": { 15 "cwd": "${fileDirname}" 16 }, 17 "problemMatcher": [ 18 "$gcc" 19 ], 20 "group": "build", 21 "detail": "デバッガーによって生成されたタスク。" 22 }, 23 { 24 "type": "cppbuild", 25 "label": "C/C++: cl.exe アクティブなファイルのビルド", 26 "command": "cl.exe", 27 "args": [ 28 "/Zi", 29 "/EHsc", 30 "/nologo", 31 "/Fe${fileDirname}\\${fileBasenameNoExtension}.exe", 32 "${file}" 33 ], 34 "options": { 35 "cwd": "${fileDirname}" 36 }, 37 "problemMatcher": [ 38 "$msCompile" 39 ], 40 "group": "build", 41 "detail": "デバッガーによって生成されたタスク。" 42 }, 43 { 44 "type": "cppbuild", 45 "label": "C/C++: cpp.exe アクティブなファイルのビルド", 46 "command": "C:\\MinGW\\bin\\cpp.exe", 47 "args": [ 48 "-fdiagnostics-color=always", 49 "-g", 50 "${file}", 51 "-o", 52 "${fileDirname}\\${fileBasenameNoExtension}.exe" 53 ], 54 "options": { 55 "cwd": "${fileDirname}" 56 }, 57 "problemMatcher": [ 58 "$gcc" 59 ], 60 "group": { 61 "kind": "build", 62 "isDefault": true 63 }, 64 "detail": "デバッガーによって生成されたタスク。" 65 } 66 ], 67 "version": "2.0.0" 68}
試したこと
・.vscode/c_cpp_properties.jsonのincludePathにダウンロードしたディレクトリのincludeディレクトリと、その中に存在するThirdPartyディレクトリを追加指定しました。
・tbb/blocked_range.hをダウンロードしたディレクトリ内に存在するか検索しました。
→存在しませんでした。
・tbb/blocked_range.hについて検索しました。
→インテルのTBBというライブラリに含まれるものである可能性があります。(https://www.cism.ucl.ac.be/Services/Formations/ICS/ics_2013.0.028/composerxe/Documentation/ja_JP/tbb/help/index.htm#reference/algorithms/range_concept/blocked_range_cls.htm )
しかし、Siv3Dの公式ページには特にそのようなライブラリが必要という話がなかったため入れるかどうか迷っています。容量の問題であまり入れたくありません。また、導入方法がわかりません。おそらく、(https://www.intel.com/content/www/us/en/developer/tools/oneapi/onetbb.html )のGet it nowからダウンロードできると思われますが、正しいのかどうかわかりません……
・その他、類似事例について検索しました。→Siv3Dの情報自体が少ないため、私が検索した限りでは類似事例は見つかりませんでした。
補足情報(FW/ツールのバージョンなど)
Visual Studio Code バージョン 1.72.2
g++ バージョン 9.2.0
Siv3D バージョン 0.6.5
ご不明な点がございましたら、お手数ですがコメントまでお知らせください。
何卒、ご教授お願いします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。