From what I've gathered/been told, multiple copies of the CRT are being linked. I've tried setting the library to be used as the one given in -LIBPATH:C:\\Intel\\Composer XE 2011 SP1\\compiler\\lib\\intel64
but MINGW32 doesn't deal well with spaces and keeps returning errors.
So that didn't work. I'm not quite sure what else I can do?
If it helps I'm using the 30 day trial of Intel Composer XE 2011 SP1 Update 7.
To find the short name for it, open a cmd prompt, use cmd "dir /X". It will list the short-name for it similar to "COMPOS~2"
When compiling with icl, add /MD to the options if it's for release build. If it's for debug build, use /MDd. the default is /MT if you do not specify it.
you should not need to add "libpath" option at link.
Well when I use the -MD flag, I get the new error:
I was looking at the OpenMP library, and it says that on GCC/Microsoft compilers you need to put the headers in a separate folder and use then link to them? Could that possibly be the cause of the error here?
Be aware that when using the GNU*/Microsoft* compiler, you may inadvertenty use inappropriate header/module files. To avoid this, copy the header/module file(s) to a separate directory and put it in the appropriate include path using the -I option.
I agree that it could be a header file problem, so that suggestion is worth a try.
If that suggestion is not specific to FF build, I would be concerned that you need C++ syntax which isn't supported by Microsoft headers (be sure to make the compiler use C++ rather than C where needed). For example, if the build is predicated on .C file being taken as C++, that won't work on Windows.
It's related to /GL or /Qipo optimization. it might be compiler bug or coding issue.
Try one of the following to work around it:
1. remove /GL or /Qipo from compiler option list
2. add /qnoipo to the linker
>>...I've gathered/been told, multiple copies of the CRT are being linked...
Try to check Firefox sources for #pragma commentdirectives, like
#pragma comment ( lib, "libcmt.lib" )
#pragma comment ( lib, "libcmtd.lib" )
I tried, but to no luck!
I tried -qnoipo as an enable optimize flag, I tried it with the linker by itself, I tried it with both and still got the same error.
Any idea where I should generally look? There are thousands of files I don't know where to begin! I read the MSDN article and usually -MD sorts out this kind of error, but it doesn't this time.
You have to look at all files with extensions: '.h', '.hxx', '.cxx', '.c', '.cpp', '.inl' or just everything '*.*'
>>I read the MSDN article and usually -MD sorts out this kind of error, but it doesn't this time...
If two differentlibraries ( static and import )are used for the same set of CRT-functionsit can't resolve
Where did you download Firefox sources from?
Note: I used it once some time ago and I remember that it resolved some linking problems on a project.
Take a look at MSDN's topic "Linker Tools Error LNK1169"
But there are over 30,000 files which at least half are C/C++ related files. I have to check each and everyone one of them for libcmt.lib?
I downloaded the source straight from Mozilla.
I tried that, when I do that it gives me the other error:
LNK1120 error with 292 unresolved externals.
I can't possibly need to edit that many files. I found someone who has made successful firefox builds with ICC here:
But I've done the same modifications he has up to part 3, after part 3 is irrelevant because that's how to get PGO to work.
I changed it to -O3 -Qprec-div -QxO, like you said. Still gives the error.
EDIT: Great news, I fixed it! Turns out I had too many commands that were conflicting. This is a build without any optimization flags though, so hopefully when I put some I don't get the same errors again! Thank you everyone for your help, it is greatly appreciated.
I've done some verifications related to different source file & foldernames, like "..\Common Tests" or
"..\Main Test.cpp" ( with one space ), and MinGW v3.4.2handled it properly.
I can't exactly make out what the error is. Any ideas how I could go about fixing it?
what I can see is that it fails because of the following command:
expand "" -F:d3dx9_43.dll "../../dist/bin"
I assume the build wanted to extract a file (d3dx9_43.dll) from a CAB archive. However the CAB archive is not specified (empty double quotes): ""
Could you take a look at the corresponding Makefile (C:\Users\Administrator\Downloads\objdir\gfx\angle\Makefile), line 143, and see what should have been enclosed in double quotes. Maybe some variable is not specified.
Under the line it looks to me like an external dependency that's not satisfied. Maybe you need to download some CAB archive and store it at a fixed location before kicking-off the build.