Coder Social home page Coder Social logo

Comments (6)

ArnauPrat avatar ArnauPrat commented on May 8, 2024 1

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.

AustinBrunkhorst avatar AustinBrunkhorst commented on May 8, 2024

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.

ArnauPrat avatar ArnauPrat commented on May 8, 2024

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.

AustinBrunkhorst avatar AustinBrunkhorst commented on May 8, 2024

@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.

DongSirOh avatar DongSirOh commented on May 8, 2024

@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.

AustinBrunkhorst avatar AustinBrunkhorst commented on May 8, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.