【问题标题】:Specify external library for linux from Visual Studio 2017从 Visual Studio 2017 为 linux 指定外部库
【发布时间】:2017-08-22 11:01:09
【问题描述】:

我正在从 Visual Studio 2017 开发 linux(ubuntu) c++ 项目。我想将 googletest 集成到我的代码中。我已经安装了 googletest 并根据following tutorial 运行测试示例。当我使用 cmake 从 bash 终端运行它时,一切正常。

现在我需要使用 VS 运行它。为此,我需要从 VS 指定 /usr/lib/libgtest.a 的路径。我将/usr/lib 添加到Linker->General->Additional Library Directories 并将libgtest.a 添加到Linker->Input->Additional Dependencies。但是编译器仍然无法链接库:

g++: 错误: libgtest.a: 没有这样的文件或目录

【问题讨论】:

  • 你需要改变你的makefile,AFAIK它不能使用Linker属性标签来完成。
  • 看来我没有直接访问makefile。 VS内部生成的Makefile。
  • 请参阅stackoverflow.com/questions/45570103/g-cant-link-curl-lib-files/… 中的答案。请注意,VCLinux 默认使用 MSBuild,因此不涉及 makefile。
  • 或者,如果您更喜欢链接器->输入->附加依赖项而不是链接器->输入->库依赖项,则必须指定完整路径,即该行将读取 /usr/lib/libgtest。一个

标签: c++ linux visual-studio g++


【解决方案1】:

尝试从文件名中省略“lib”和“.a”,因为文件名的这些部分似乎是由链接器本身添加的。在您的情况下,您将引用“gtest”。

【讨论】:

    【解决方案2】:

    尝试使用“gtest”配置属性->链接器->输入->库依赖项。注意:libgtest.a 必须在标准位置,以便链接器可以搜索。

    【讨论】:

      猜你喜欢
      • 2017-08-02
      • 1970-01-01
      • 2018-06-16
      • 2017-12-16
      • 1970-01-01
      • 2018-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多