- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I recently got ifort 12.1.5.344 Build 20120612, and started compiling the codes (I used ifort 9.1 prior) in command prompt (IA 32).
When I use the options "/MT /traceback /warn", EXE works fine in other machine. But when I use "/Qparallel /fast" options, then it asks for additional dll. I tried adding "/static" option to it, still no change. EXE size remains same with and without /static option.
Could you please help whether I miss something?
Thanks,
Mohan
I recently got ifort 12.1.5.344 Build 20120612, and started compiling the codes (I used ifort 9.1 prior) in command prompt (IA 32).
When I use the options "/MT /traceback /warn", EXE works fine in other machine. But when I use "/Qparallel /fast" options, then it asks for additional dll. I tried adding "/static" option to it, still no change. EXE size remains same with and without /static option.
Could you please help whether I miss something?
Thanks,
Mohan
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/static on Windows doesn't mean link with the static libraries as it does on Linux. It means allocate local variables statically. The option you are looking for is /Qopenmp-link:static, but as Tim says it will disappear in the next release (September).
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/Qparallel requires OpenMP library support. The library is excluded from static linking effect (even if you gave the /MT or equivalent). If you are serious about linking that library statically, you must add that library specifically in your link step, if it exists in your installation. It is deprecated (will disappear in the next major release). There are several pitfalls which are hoped to be avoided by requiring the .dll; for example, if the static library is linked it must be done only in the final link step, and the dynamic library (or the conflicting Visual Studio libraries) must never be linked.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/static on Windows doesn't mean link with the static libraries as it does on Linux. It means allocate local variables statically. The option you are looking for is /Qopenmp-link:static, but as Tim says it will disappear in the next release (September).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you Tim & Steve.
If I upgrade the compiler after Sep release, will it be static exe automatically as like Linux (I mean, it works stand alone without any additional files/libraries) ?
Until then, I will use /Qopenmp-link:static.
If I upgrade the compiler after Sep release, will it be static exe automatically as like Linux (I mean, it works stand alone without any additional files/libraries) ?
Until then, I will use /Qopenmp-link:static.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No - when you update the compiler, the OpenMP library will always be dynamic and the statiic library will not be provided.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page