rust-qt / ritual

Use C++ libraries from Rust
Apache License 2.0
1.22k stars 49 forks source link

Couldn't generate qt_3d_extras on windows #61

Closed o01eg closed 5 years ago

o01eg commented 6 years ago

rust 1.21.0 x64 msvc MS VS 2017 Qt 5.9.2 clang 5.0.0

On step with generation qt_3d_extras moc failed:

log.zip

Generating crate: qt_3d_extras
Debug log will be saved to D:\devel\qt-cache\qt_3d_extras\log
Loading dependencies
Running C++ parser
clang version 5.0.0 (tags/RELEASE_500/final)
Initializing clang...
Warning: CLANG_SYSTEM_INCLUDE_PATH environment variable is not set.
This may result in parse errors related to system header includes.
clang arguments: ["-Xclang", "-detailed-preprocessing-record", "-fcxx-exceptions
", "-std=c++14", "-I", "D:/Qt/5.9.2/msvc2017_64/include", "-I", "D:/Qt/5.9.2/msv
c2017_64/include\\Qt3DExtras", "-I", "D:/Qt/5.9.2/msvc2017_64/include\\QtCore",
"-I", "D:/Qt/5.9.2/msvc2017_64/include\\QtGui", "-I", "D:/Qt/5.9.2/msvc2017_64/i
nclude\\Qt3DCore", "-I", "D:/Qt/5.9.2/msvc2017_64/include\\Qt3DRender", "-I", "D
:/Qt/5.9.2/msvc2017_64/include\\Qt3DInput", "-I", "D:/Qt/5.9.2/msvc2017_64/inclu
de\\Qt3DLogic"]
Parsing types
Parsing methods
Checking data integrity
Searching for template instantiations
Detecting signals and slots
Running custom filters for C++ parser data
Detecting fancy Qt header names
Adding Qt documentation from D:/Qt/Docs/Qt-5.9.2\qt3d.qch
Saving C++ parser data
C++ parser data is saved to file: D:\devel\qt-cache\qt_3d_extras\parser_cpp_data
.bin
Post-processing parse result
Detecting type allocation places
Saving processed C++ data
Processed C++ data is saved to file: D:\devel\qt-cache\qt_3d_extras\processed_cp
p_data.bin
Generating C++ wrapper library (qt_3d_extras_c)
Instantiating templates
Adding field accessors
Adding cast functions
Generating C++ FFI methods for header: QConeGeometry
Generating C++ FFI methods for header: QConeMesh
Generating C++ FFI methods for header: QCuboidGeometry
Generating C++ FFI methods for header: QCuboidMesh
Generating C++ FFI methods for header: QCylinderGeometry
Generating C++ FFI methods for header: QCylinderMesh
Generating C++ FFI methods for header: QDiffuseMapMaterial
Generating C++ FFI methods for header: QDiffuseSpecularMapMaterial
Generating C++ FFI methods for header: QExtrudedTextGeometry
Generating C++ FFI methods for header: QExtrudedTextMesh
Generating C++ FFI methods for header: QFirstPersonCameraController
Generating C++ FFI methods for header: QForwardRenderer
Generating C++ FFI methods for header: QGoochMaterial
Generating C++ FFI methods for header: QMetalRoughMaterial
Generating C++ FFI methods for header: QMorphPhongMaterial
Generating C++ FFI methods for header: QNormalDiffuseMapAlphaMaterial
Generating C++ FFI methods for header: QNormalDiffuseMapMaterial
Generating C++ FFI methods for header: QNormalDiffuseSpecularMapMaterial
Generating C++ FFI methods for header: QOrbitCameraController
Generating C++ FFI methods for header: QPerVertexColorMaterial
Generating C++ FFI methods for header: QPhongAlphaMaterial
Generating C++ FFI methods for header: QPhongMaterial
Generating C++ FFI methods for header: QPlaneGeometry
Generating C++ FFI methods for header: QPlaneMesh
Generating C++ FFI methods for header: QSkyboxEntity
Generating C++ FFI methods for header: QSphereGeometry
Generating C++ FFI methods for header: QSphereMesh
Generating C++ FFI methods for header: QText2DEntity
Generating C++ FFI methods for header: QTextureMaterial
Generating C++ FFI methods for header: QTexturedMetalRoughMaterial
Generating C++ FFI methods for header: QTorusGeometry
Generating C++ FFI methods for header: QTorusMesh
Generating C++ FFI methods for header: Qt3DWindow
Generating C++ FFI methods for header: slots
Generating C++ wrapper code
Executing command: "moc" "-i" "D:\\devel\\qt-rust-test01\\qt_3d_extras\\c_lib\\i
nclude\\qt_3d_extras_c_slots.h"
Stdout:
Stderr:
Error:
   0: command failed with exit code: 3221225794: "moc" "-i" "D:\\devel\\qt-rust-
test01\\qt_3d_extras\\c_lib\\include\\qt_3d_extras_c_slots.h"
   1: C++ code generator failed
error: process didn't exit successfully: `target\release\qt_generator.exe -c D:\
devel\qt-cache -C 3 -l all --debug-logging save -o D:\devel\qt-rust-test01` (exi
t code: 1)
Riateche commented 6 years ago

Does moc run when you execute it manually from the same console you run the generator from? From looking at the log, it seems that moc is not able to properly start at all.

Riateche commented 5 years ago

I'm closing this because there is not enough information to find the cause of the issue.