-
Notifications
You must be signed in to change notification settings - Fork 36
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
Failed installing IL2C.Runtime.msvc on Unreal Engine produced VC2017 project. #81
Comments
Related info: 1 day hacking "IL2C on UE4"
|
@ayumax I found a problem for what failing. We already shared the Unreal Engine 4's vcxproj driven by NMake. Causes using NMake because it doesn't have a lot of lacks MSBuild definitions. I feel better methods:
|
I agree to distribute the source code and library files in zip format. The method for adding a library to an Unreal Engine C ++ project is to define the include directory and library file path in the * .build.cs file. build.cs file example For this reason, library users can use it by extracting the zip file to an arbitrary folder and then writing it in the above file. |
OK, I released new 0.4.90 packages yesterday, please check these package contained items (it's nuget, doesn't zip format):
The runtime libraries matrix naming rules are:
I'm thinking about how to locate these items inside zip file. For example:
Any other ideas? |
I tried 0.4.90 packages and confirmed that it works in 64bit version. It seems that the library to link can be separated by describing Build.cs as follows. Therefore, I think that the folder structure of the zip file is good above. However, an error occurred in the build log for the 0.4.90 packages 32-bit library.
|
Seems to be strange error for link-time code generation related at: https://stackoverflow.com/questions/26279291/what-causes-linker-warning-msil-netmodule-or-module-compiled-with-gl-found-r Hmm... too complex for prebuilt binary variations when use IL2C by end user... Edited: Unrecognized option |
I checked various things, but I didn't know how to set Unreal Engine's link-time code generation option. I think that the setting items on the following page are build setting items, but I didn't know which setting would solve this problem. . . When I built a 32-bit static library of IL2C.Runtime with the following settings, this error disappeared. |
Hmm, no problem. I'll not change GL option on 32bit, I agreed you suggested to use 64bit library in Unreal Engine. I'll place a README file inside zip file and write will cause problem to use 32bit library in Unreal Engine. |
@ayumax Published 0.4.93 and made new runtime artifacts zipped file, download from here. (It doesn't contain annotation for UE4 in README) |
Downloaded and added to project. |
Remains:
|
@ayumax I forgot tell you about how to initialize/shutdown sequence for IL2C runtime. |
Thank you for teaching me. I'll give it a try. Do I need to call il2c_initialize () and il2c_shutdown () for each thread? |
No, both functions call only when each first and last runtime execution. (Means often beginning and terminating the process on Windows platform)
If UE4's threading management has special internal features both beginning/terminating sequence, you have to handle option 2. In that case, insert ifdef UE4 or make UE4's depndant code into Platform directory. I recommend you can make UE4's platform codes deriving from windows.[ch] files, and change minimumly difference. (And insert include directive into here.) |
OK. We will write the above code at the start and end of the process. Thank you for the explanation about the thread. |
@ayumax Are you still interested in supporting UE4? I have a fully automated native build in #79. This may make the method we were discussing here obsolete (although it should still work at this point). In order to do a fully automated native build, you will probably need to add a toolchain package for UE4 (or is it UE5 now?). Right now, IL2C.Toolchain.gcc4-mingw32 does this on Windows, but I am planning another package called IL2C.Toolchain.msvc, which will allow you to build with VC if we install it. As for me, I am very interested in making IL2C work with UE4/5, but I don't have the knowledge of UE4/5 to make the package. So, if you are willing to try to make one, what do you think, we can discuss the necessary information here? |
cause:
Cannot reference SubSystem on condition: "%(Link.Subsystem) == "EFI Application""
The text was updated successfully, but these errors were encountered: