qq_43478653 2022-05-19 22:12 采纳率: 25%
浏览 123
已结题

cmake .. -A X64 -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake编译问题

1.首先我参考如下步骤

img

2.当执行完第1~2步后,执行第3步使用cmake编译时,提示如下错误:

PS E:\vcpkg\vcpkg\build> cmake .. -A X64 -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake
CMake Error: The source directory "E:/vcpkg/vcpkg/build/root]/scripts/buildsystems/vcpkg.cmake" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.

在大家帮助后,修改命令为:

E:\vcpkg\vcpkg\build> cmake .. -A X64 "-DCMAKE_TOOLCHAIN_FILE=.\scripts\buildsystems\vcpkg.cmake"
CMake Error: The source directory "E:/vcpkg/vcpkg" does not appear to contain CMakeLists.txt.

也即E:/vcpkg/vcpkg目录下没有CMakeLists.txt文件。所以现在的问题是,为什么在按照步骤执行后,我的目录E:/vcpkg/vcpkg下没有CMakeLists.txt文件,这个文件是否是要自己编写的?由于是CMake初学者,能否有CMake使用人员指教一下,谢谢。
补充:我在看vcpkg官方github-window教程后,感觉是否在第2步和第3步之间缺少一句命令:
.\vcpkg integrate install
但执行过后,我的目录下还是没有CMakeLists.txt文件。

  • 写回答

4条回答 默认 最新

  • hyh123a 新星创作者: 编程框架技术领域 2022-05-20 07:52
    关注

    原因
    需要注意32位、64位环境

    解决方法

    切换到命令行以使用 vscode 在 Windows 上运行项目,它运行完美。

    Visual Studio 的问题是 vcpkg 安装 32 位版本,而 Visual Studio 正在寻找 x64 版本的库,所以只需强制安装 vcpkg x64 版本,而不是像下面的例子:

    vcpkg install <Your library>:x64-windows
    

    您还可以使用以下命令在 Visual Studio 代码中运行您的项目:

    cmake . -GNinja -DCMAKE_TOOLCHAIN_FILE=<VCPKG installed folder>/vcpkg/scripts/buildsystems/vcpkg.cmake
    

    之后运行:

    ninja
    

    然后运行你的项目。因为这个命令有效,但它的等效命令在 Visual Studio 上不起作用,我猜这是 Visual Studio 的错误。


    参考链接:

    除此之外
    如果上述方法不生效,你可以尝试下 下面这个解决方法


    如有问题及时沟通

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月28日
  • 已采纳回答 5月20日
  • 赞助了问题酬金20元 5月20日
  • 修改了问题 5月20日
  • 展开全部