如何让cmake检测nix安装的C ++库

问题描述

这是我的目录中的default.nix:

{ pkgs ? (import <nixpkgs> {}),source ? ./.
 }:
 with pkgs;
 stdenv.mkDerivation rec {
    name = "vulkan_play";
    version = "0.1.0";
    src = lib.cleanSource source;

    nativeBuildInputs = [cmake pkgconfig];
    buildInputs =[
        vulkan-headers
        vulkan-loader
        glfw
        boost];

这是我的cmake

cmake_minimum_required(VERSION 3.17)
project(vulkan_play)
add_subdirectory(lib)
add_subdirectory(main)


set(CMAKE_CXX_STANDARD 20)
set(GLFW_BUILD_DOCS OFF CACHE BOOL "GLFW lib only")
set(GLFW_INSTALL OFF CACHE BOOL "GLFW lib only")

我必须在cmake中放入什么才能找到已被放大的boost和glfw(由于某种原因它可以找到vulkan,不确定原因)。

当我运行nix-shell时,以上大部分工作都有效,路径中存在相关性,我只需要CMAKE即可检测这些库而无需指定nix-store目录。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)