New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows compilation #231
Windows compilation #231
Conversation
…s removed or binary path is moved
…rk into windows-compile
Ok, I forgot to switch to this branch |
I got the following error when trying to compile axionlib
|
Ok, I managed to compile If I go to CMD, I launch |
I guess you need to launch root.exe once, then the registration keys will be automatically filled, then the root libraries could be found. Or you can try to set env ROOTSYS to the path you extracted ROOT binary, in case it makes same to my configuration.
I see, this is also a problem which took me many time to solve. My solution is to switch the cmake build type to |
Nice! The trick of changing to Still, for the double-click |
This seems to be ROOT interpreter problem. If you type It seems the only solution is to avoid including |
Not sure, but it does not always happen. |
Perhaps is related to the VStudio version |
…ith atleast C++17
CMakeLists.txt
Outdated
@@ -98,7 +109,7 @@ if (${HASCXX20} MATCHES "yes") | |||
elseif (${HASCXX17} MATCHES "yes") | |||
set(CMAKE_CXX_STANDARD 17) | |||
else () | |||
message(FATAL_ERROR "Minimum C++ standard version is 17, | |||
message("Minimum C++ standard version is 17, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is the error removed here? I think we should stop execution if C++ std is not 17.
Update: I added it back on a343179, since I think its a must have, we should not allow to compile REST with a ROOT compiled with C++11 or C++14
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for pointing out. I agree to force using c++17-compiled ROOT. I removed this error because on windows we cannot use root-config
to collect HASCXX17
, which makes cmake failed on this line. I have excluded this check for windows.
…rk into windows-compile
Since ROOT 6.26/02 release the "preview" label on windows binary distribution is removed (https://root.cern/releases/release-62602/). So I guess it can now run normally on windows. I am trying to make REST also compilable on windows. There are several changes to the code to make compilation successful.
Console::CompatibilityMode
changed toREST_Display_CompatibilityMode
Double_t x[nHits];
-->vector<Double_t> x(nHits);
std::filesystem::path()
returns by default wstring instead of string. Need to add additional string conversionfork()
is not available on windows. I removed corresponding functionalities.dll
file shall be installed to the bin directory instead of libSeveral other compilation-unrelated changes:
Browser.Name
toTRootBrowser
during startup.-I../include
definition during cint generation. This fixes header not found problem if we remove the source file.The good point to have REST running on windows lies in that:
@rest-for-physics/core_dev