首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux上的vcpkg工具链

linux上的vcpkg工具链
EN

Stack Overflow用户
提问于 2022-01-22 08:46:25
回答 1查看 281关注 0票数 0

我只是想知道如何正确地在vcpkg中使用类库?即

find_package(gtest REQUIRED)将失败但

find_package(GTest REQUIRED)将通过

我的意思是,如果我列出已安装的软件包,我会以小写字母获得它们,即

代码语言:javascript
复制
CMake suite maintained and supported by Kitware (kitware.com/cmake).
~/Proj$ cd vcpkg
~/Proj/vcpkg$ ./vcpkg list
fftw3:x64-linux                                    3.3.10#3         FFTW is a C subroutine library for computing the...
gtest:x64-linux                                    1.11.0#3         GoogleTest and GoogleMock testing frameworks
vcpkg-cmake-config:x64-linux                       2021-12-28
vcpkg-cmake:x64-linux                              2021-12-20

因此,例如,如果我想添加fftw3,我如何才能知道是哪种情况呢?

find_package(fftw3必需)失败.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-22 19:21:08

假设您正确地将-DCMAKE_TOOLCHAIN_FILE=$HOME/Proj/vcpkg/scripts/buildsystems/vcpkg.cmake添加到您的构建中,那么您所观察到的内容与vcpkg无关。

find_package与您所在的文件系统一样区分大小写。在Windows上,gtest可能会正常工作,但真正的名字是GTest,所以只有这个名字可以在Linux上工作。类似地,fftw3包的名称是FFTW3

Vcpkg也非常有帮助地告诉您:

代码语言:javascript
复制
$ ./vcpkg install fftw3:x64-linux
...
The package fftw3 provides CMake targets:

    find_package(FFTW3 CONFIG REQUIRED)
    target_link_libraries(main PRIVATE FFTW3::fftw3)

    find_package(FFTW3f CONFIG REQUIRED)
    target_link_libraries(main PRIVATE FFTW3::fftw3f)

    find_package(FFTW3l CONFIG REQUIRED)
    target_link_libraries(main PRIVATE FFTW3::fftw3l)
$ ./vcpkg install gtest:x64-linux
...
The package gtest provides CMake targets:

    find_package(GTest CONFIG REQUIRED)
    target_link_libraries(main PRIVATE GTest::gmock GTest::gtest GTest::gmock_main GTest::gtest_main)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70811271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档