【问题标题】:Importing a library in MS Visual Studio from the same solution从同一解决方案导入 MS Visual Studio 中的库
【发布时间】:2012-05-09 04:38:51
【问题描述】:

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

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

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

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

放入使用该库的 Project 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 的唯一有效方法吗?

【问题讨论】:

    标签: c++ visual-studio dependencies solution


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,现在可以设置了。我仍然觉得我必须添加库的路径感到困惑,因为它被设置为必需的项目......
    猜你喜欢
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多