D8016 '/clr' and '/MT' command-line options are incompatible - c++

I have made an Windows Application using visual c++[CLR Empty Project].But when I run that .exe file in another PC i get error of ucrtbased.dll, VCRUNTIME140D and MSVCP140D file is missing.
For this, we have changed the Runtime Library from Multi-threaded Debug DLL(/MDd) to Multi-threaded(/MT). Then also i am getting error like :-
Error : D8016 '/clr' and '/MT' command-line options are incompatible.
So, if any one have any idea to resolve this problem will be appreciated.
Thanks in advance !!!

Related

Unable to resolve configuration with compiler Path

I have been getting this error message after installing VS code (New computer just reinstalling things) and I ran into this error message after installing splashkit + the c++ extension:
Unable to resolve configuration with compilerPath: C:/Users/willi/Documents/Code/102/Test/g++.exe
I would imagine I need to change the path variable but I am not sure.
Thanks
EDIT: I get this error message after using the command:
skm clang++ program.cpp -o One
I'm sure I am missing something easy here, but I haven't ran into this one before.

No argument specified with option "/MAPINFO" , why?

I try to fix my previous company project on visual studio 2013, but when i try to build i have error like this
error LNK1146: no argument specified with option "/MAPINFO"
when i see on linker -> Command Line -> additional options, i see this command:
/MAPINFO:EXPORTS /MAPINFO /MAPINFO:LINES
if i delete that command, i get success build my project,
what i asking is :
why compiler say no argument specified on that option ?
what /MAPINFO using for ? (sorry i asking this cause i'm new on visual studio)
on my linker command line, is there any wrong command i write ?
if i delete this command does this effected on my project result ?
Thank you
PS: forgive my english
As far as I know, /MAPINFO:LINES is no longer supported since VS2005. You could delete it.
If you need to use it, you may have a try to find a replacement of it. You can refer to the link below and consider using dbghelp library to do this.

LNK1181 error when compiling V8 engine on Win10

I'm following this guide on building V8 but I am hitting some issues on the compilation step. I am running Windows 10 x64. I am trying to compile with options to embed the engine also.
Running the following command:
ninja -C out.gn/x64.release
Gives me this error:
ninja: Entering directory `out.gn/x64.release'
[1/471] LINK mksnapshot.exe mksnapshot.exe.pdb
FAILED: mksnapshot.exe mksnapshot.exe.pdb
C:/Workspace/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe ../../build/toolchain/win/tool_wrapper.py link-wrapper environment.x64 False link.exe /nologo /OUT:./mksnapshot.exe /PDB:./mksnapshot.exe.pdb #./mksnapshot.exe.rsp
LINK : fatal error LNK1181: cannot open input file 'comdlg32.lib'
ninja: build stopped: subcommand failed.
Now I believe I have narrowed down the error to looking for the .lib files in the wrong directory. I have (had) multiple versions installed, so there were multiple folders in my Windows Kit install.
Windows Kits/10/Lib/10.0.16299.0
Windows Kits/10/Lib/10.0.15xxx.0
If I dragged and dropped the comdlg32.lib file from 10.0.16299.0 into the 10.0.15xxx.0 directory then the error changed to a LNK1181 error with a different input file. I did this a few times but I was unsure if this was going to cause issues with different versions and there was probably going to be a lot.
I uninstalled the 10.0.15xxx.0 version which left behind the folder I mentioned, so I removed that and after doing so I have started getting the LNK1181 error with a different input file (advapi32.lib I assume the very first file it can't find). This is how I came to the conclusion about the path being incorrect.
So I have tried a few things to change the path (I hoped just uninstalling the old version would fix it) such as:
Uninstalling the old version.
Going through registry entries to see if I can find an install path or something using that path, which I didn't. I did notice that there was still installation and data in the registry for the 10.0.15xxx.0 install, I might try deleting that from the registry directly as a last resort?
I have tried to explicitly set the path by setting <TargetUniversalCRTVersion>10.0.16299.0</TargetUniversalCRTVersion> in this file: C:\Program Files (x86)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\uCRT.props
I have never used Ninja before so I tried looking for a way to set some kind of lib-path in the command but couldn't really find anything.
I looked through the python scripts being executed to try and locate something to do with the libs path but couldn't see anything.
I would be grateful for any help and suggestions. Thanks.
You can try to compile v8 using Visual Studio as explained here: https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md#using-the-visual-studio-ide
By running the following commands:
$ gn gen --ide=vs out.gn/x64.release
$ cd out.gn/x64.release
$ msbuild all.sln
You can see a full example here: https://github.com/phpv8/v8js/issues/272#issuecomment-262848754
Apparently this method is not officially supported anymore, but I had the same problem as you have and this solved the issue for me.
Note that after this I had another issue, the unit tests failed to be compiled due to a linking error, but I had the necessary libraries to use v8. So there may be deeper problem that is causing all of this that I'm missing.
Edit:
Also, you could try to set the following parameters with gn args:
visual_studio_path = "..."
visual_studio_version = "2017"
wdk_path = "..."
windows_sdk_path = "C:\Program Files (x86)\Windows Kits\10"
To set those parameters, do:
gn args out.gn/x64.release
This will open a text editor where you can write the extra parameters you are interested in.
To see the full list of parameters you can specify:
gn args --list out.gn/x64.release
I was following this guide https://medium.com/dailyjs/how-to-build-v8-on-windows-and-not-go-mad-6347c69aacd4 and also ran into the error
LINK1181: cannot open input file 'advapi32.lib'
I'm pretty sure it was because I had the wrong versions of the Windows 10 SDK. Similar to you I had versions:
Windows Kits/10/Lib/10.0.10240.0
Windows Kits/10/Lib/10.0.16299.0
But according to https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md#Setting-up-Windows (Which I think is relevant) you need version 10.0.15063.0
After installing version 10.0.15063.0 (with the visual studio installer) to
Windows Kits/10/Lib/10.0.15063.0
I was able to continue with the build.

Fatal error RC1212

I try to build one project (huge but not finished program, not mine but I guess I should be one of the guys who will try finish it).
Actually when I build it in Debug mode, everything seems like okay, but when I switch into Release mode an error appears:
fatal error RC1212: invalid option - /z argument missing substitute font name
I trying to change options into Project properties->C++->General->Debug Information Format but it doesn't help.
Never saw such error before. Does anyone know how to fix it?
Thank you!

error rc1106 even using the latest sdk

I made an application it gives me an error like
RC : fatal error RC1106: invalid option: -ologo
Although i have installed the latest win sdk 7.0.
What i might be missing?Thanks for the help.
It should be /nologo, just fix it in project properties.
I got same problem. I fixed this by go to project property -> Resources -> General and set "Suppress Startup Banner" to "No"