【发布时间】:2015-08-06 14:49:14
【问题描述】:
当我在 Visual Studio 中使用 .exe 输出构建我的 C++ 项目时,它会为我的项目创建一个 .lib 和 .exp 文件,这需要很长时间。我在 stdafx.h(预编译头文件)的开头添加了 _DO_NOT_EXPORT 条件以尝试跳过此步骤,但它仍会在每次构建结束时创建 .lib 和 .exp 文件。我是否在正确的地方添加了条件?
【问题讨论】:
-
您必须在源代码中找到
__declspec(dllexport)属性,并采取一切必要措施确保编译器看不到它。这并不总是实用的,它可能不是你的代码。然后你就说“aw shucks”。 -
@HansPassant 我相信 __declspec(dllexport) 属性是在我包含在 stdafx.h 中的 boost 库中的某处定义的,所以如果我在这种情况下理解正确,就没有办法禁用 dllexport 吗?跨度>
-
boost 的一些库(如 Thread)只能动态链接,但它们中的大多数不应该自动执行 dllimport(更不用说 dllexport)了。