Comments (6)
Hi again @AustinBrunkhorst
My five cents on my investigation. IF I comment out this if-else statement (from 132 to 138), everything goes well. I understandy that this code basically creates the empty generated files. Then, when building with make, since it already finds these files available (though empty), it does not trigger the command to generate them. Does this make sense?
Thanks
Arnau
from cpp-reflection.
Hello there!
It does look like the pre-build parser step is not being run, which would cause the linker errors. Just to confirm, is there Parsing reflection data for target "..." anywhere in the output?
Also, are you using the cmake --build
command?
from cpp-reflection.
Hi again!
No *Parsing reflection data for target "..." * in the output
I tried with both cmake --build . and direclty calling make, with the same outcome.
This is the output of calling cat ./* inside the Generated folder:
cat ./*
/home/aprat/projects/personal/owc/lib/reflection/Source/Runtime
/home/aprat/projects/personal/owc/lib/reflection/Source/Runtime/..
/home/aprat/projects/personal/owc/lib/reflection/Source/Runtime/../Common/Lib
ls ./* shows the following:
Module.TestModule.Generated.cpp TestProperties.Generated.cpp TestTypes.Generated.cpp
Module.TestModule.Includes.txt TestProperties.Generated.h TestTypes.Generated.h
As you can see, files are empty. I'll try to investigate why the Parser is not being executed.
Thanks for your help
Arnau
from cpp-reflection.
@ArnauPrat This does make sense.
CMake requires files to exist in order to be included in a list of sources, so writing the files was necessary before calling add_executable
or add_library
. I have since completely re-written the entire pipeline - among the changes was a great suggestion from @l0calh05t here which makes use of the GENERATED
source file property, which allows sources to not exist.
I'm pretty sure writing empty files in meta_parser_build
is just me forgetting to remove it after the refactor. I will test removing it!
Thank you for taking the time to investigate this.
Cheers
from cpp-reflection.
@AustinBrunkhorst Hi
when I build the Examples,it show me the message "error MSB6006: “cmd.exe” exited with code -1073741819" after Parsing reflection data for target "..." in the output.
So,I tried ro debug the Parser,it show me the message "access violation executing location ..." when call the "clang_Cursor_getStorageClass(child)" form some Cursor.
I am under Win10 x64, using Cmake3.14.4, VS2015, libclang 3.8.0 and boost 1.59.1
Best,
Aaron.
from cpp-reflection.
Sorry for the inactivity here folks. I'll get back to these issues in the near months, but plan to facilitate any pull requests if that is something that anyone is interested in!
Thanks.
from cpp-reflection.
Related Issues (15)
- Documentation issue (CMake) HOT 5
- The runtime type limit?
- Can not set struct as array HOT 1
- Doesn't compile with visual studio 2017 HOT 2
- Conan.io HOT 1
- can you add some document about cmake rule? HOT 6
- The examples can not work on Mac OS! HOT 1
- UrisinePrecompiled.h missing
- Type Meta Data not work HOT 2
- Can this project to be used as a code generator? HOT 4
- Is this a work-in-progress source? HOT 1
- TypeInfo.hpp DecayedType HOT 1
- No Build Project Description HOT 3
- Get Type with string name Problem. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cpp-reflection.