-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
overriding '/MT' with '/MD' #40246
overriding '/MT' with '/MD' #40246
Comments
These switches select either the static or DLL version of the CRT. If you try to mix code that was compiled with different settings you'll usually get a linker error, so that must not be happening. |
This is very likely due to #39837. Should be a simple matter of figuring out which compiler invocation is passing |
I believe the last time I checked this was because LLVM passes /MD unconditionally, we then configure it to pass /MT so it passes that later. We then ourselves also pass /MT ahead of things which ends up with:
The last one wins, which is what we care about, but it'd be great to fix this! I may also be wrong in this diagnosis, this is just from memory. |
@alexcrichton is right, llvm passed /MD.
That indeed resolved the issue, but it probably be better if we could achieve that by editing the Edit: If I understand it correctly, the bootstrap project is not compiled with |
This should remain open until the version of gcc and cmake that Rust itself uses are updated. |
This should remain open until #41959 lands. |
…-cmake-config, r=alexcrichton Pass static crt to llvm cmake configuration Solves rust-lang#40246
…-cmake-config, r=alexcrichton Pass static crt to llvm cmake configuration Solves rust-lang#40246
Here's an excerpt from building rustc:
I don't know what these warnings are, and the build seems to work, but seems bad maybe?
The text was updated successfully, but these errors were encountered: