Neil Mitchell
Neil Mitchell

Reputation: 9250

Stop creation of .lib and .exp when building a .dll with Visual Studio

I am building a .dll using the Visual Studio toolset (2008). When I do the linking step:

link -nologo -OUT:Foo.dll Foo.obj -DLL -IMPLIB:None.lib

This creates None.lib and None.exp. It also displays the message:

Creating library None.lib and object None.exp

I'd like to suppress the creation of those two files, and the associated message. The message is annoying and makes it hard to see more useful messages in the build log. The files aren't particularly big but do contribute to hard drive traffic and file fragmentation.

I have tried looking for flags that I can pass to link, without any luck. I also tried setting -IMPLIB:nul, but that fails as it tries to read from the nul.exp first.

Upvotes: 9

Views: 1324

Answers (2)

Igor Levicki
Igor Levicki

Reputation: 1596

  • To disable generation of .lib use /NOIMPLIB linker switch.
  • To disable generation of .exp files use /NOEXP linker switch.

Upvotes: 1

Ben
Ben

Reputation: 35623

There are no flags you can pass to LINK to prevent the creation of an import library or exports file.

I suggest you simply ignore the message.

Upvotes: 2

Related Questions