2

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

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

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

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

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

尽管两个项目都被编译到同一个Debug / Release文件夹中,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是唯一有效的方法吗?

4

1 回答 1

1

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

此外,使用链接器设置而不是#pragma comment.

于 2012-04-28T21:13:17.763 回答