从同一解决方案导入 MS Visual Studio 中的库

Importing a library in MS Visual Studio from the same solution

本文关键字:Studio Visual MS 解决方案 导入      更新时间:2023-10-16

所以我这里有我的解决方案文件,其中包含 4 个项目。

  • 项目 A 是一个编译成 .lib 的库。
  • 项目B是一个成为.exe的程序。

我已将项目 A 设置为项目 B 的依赖项,并且我包括

#pragma comment(lib,"terrain.lib")

项目 B 中使用该库的文件中。

尽管两个项目都被编译到同一个调试/发布文件夹中,但 MSVCC 告诉我

1>LINK : fatal error LNK1104: File "terrain.lib" could not be opened.
// <freely translated from German, could mean "not found">

这:

#pragma comment(lib,"../Debug/terrain.lib")

有效,但随后我必须更改它才能发布。

使用 #ifdef 的唯一有效方法吗?

您需要在项目设置中指定库路径(链接器设置中的"其他库目录" - 至少在 vc2008 中),用于调试和发布配置。您可以使用 ${ConfigurationName} 和 ${SolutionDir} 等宏,因此在项目中指定路径应该很容易。

此外,使用链接器设置而不是#pragma comment包含库可能是一个更好的主意。