The OpenMP based performance libraries are optional installations. You certainly could avoid calling or linking those functions, in which case it makes no difference whether you have installed them. I don't think you have a choice about .obj file format. Maybe I don't understand your question. I think you will need to invoke explicitly the tool which makes the .obj format of your choice from .asm. icc for linux automatically passes .s files on to as (assembler provided by linux distro) but Visual Studio doesn't appear to provide an equivalent. ICL, in general, depends on the header files, linker, and libraries from Visual Studio. If you supplied all your own headers, you could make .obj or .asm files by compiling from command line without using any Visual Studio components. In normal usage, you can't do anything useful without the Visual Studio components.
I tried to compile a sample dummy program earlier this week and encountered an error message relating to a requirement of the OpenMP library to compile. Which then was missing.
I'll post the exact error message when I get back home.
Is there no linker bundled with Intel C++? I though xilink did this for me?
So, I am requireded to have MASM installed as well to be able to compile assembly code and link it with ICC code?
When doing OS developement it is crucial not to include any standard libraries since these would pollute the low level execution code, such as the bootloader etc. Therefore I never use any standard libraries or headers, so these are not a requirement for me. Although when I try to execute icl.exe I get a "Visual Studio not found in PATH" or similar.
As Tim explained, we do require an instance of Visual Studio (or in certain cases a version of the Platform SDK - see the system requirements in the Release Notes for more information) because we do use Microsoft's linker, runtime libraries and otherutilities. xilink.exe is a wrapper around Microsoft's link.exe, and not an independent linker in its own right.
Hi Brandon, thank you for your reply. It clarified one or two things, I am however unsure on how to suit ICC to fit my OS development needs.
First of all, today I mainly use NASM for my assembly needs. NASM outputs RDOFF object files, I suppose that ICC outputs COFF object files?
There might some way to circumvein this by converting one format to another, but that leaves me with the linker issue. Since link.exe doesn't do any other linking than to PE format, I need either plain binary or ELF.