Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何更改介子子子项目的输出目录?_C++_Meson Build - Fatal编程技术网

C++ 如何更改介子子子项目的输出目录?

C++ 如何更改介子子子项目的输出目录?,c++,meson-build,C++,Meson Build,这是我的介子。构建: project('Adventum', 'cpp', version : '0.1.0', license : '', default_options : ['cpp_std=c++2a']) glfw = subproject('glfw').get_variable('glfw_dep') vulkan = dependency('vulkan') sources = ['src/main.cpp', 'src/render/window.cpp'] exe

这是我的
介子。构建

project('Adventum', 'cpp', version : '0.1.0', license : '', default_options : ['cpp_std=c++2a'])

glfw = subproject('glfw').get_variable('glfw_dep')
vulkan = dependency('vulkan')   

sources = ['src/main.cpp', 'src/render/window.cpp']

exe = executable('Adventum', sources, include_directories : 'src', dependencies : [glfw, vulkan])
这是我的“子项目”(wrap):

我正在使用GLFW库,但我必须从支持介子的第三方fork中提取。这一切都很好,介子成功下载并构建了GLFW fork,但即使介子应该清楚地知道我的项目依赖于GLFW库,但它实际上并没有将GLFW二进制文件与我的项目可执行文件放在一起,所以它构建了GLFW库这是依赖项,但我的程序无法运行,因为它找不到必要的二进制文件


是否必须在我的
介子.build
中指定某些内容,以便它自动将二进制文件放在我的可执行文件旁边?

如果您没有指定目录名或
[提供]
节中的
依赖项\u名称
,则
.wrap
的文件名将决定如何调用子项目。 因此,如果您的wrap文件名为
glfw介子.wrap
,那么您的子项目只能用
glfw介子
引用

更好的做法是指定
目录

[wrap-git]
directory = glfw
url = https://github.com/henry4k/glfw-meson.git
revision = head
依赖项\u名称

[wrap-git]
url = https://github.com/henry4k/glfw-meson.git
revision = head

[provide]
dependency_names = glfw
然后,您应该能够调用
子项目('glfw')

[wrap-git]
url = https://github.com/henry4k/glfw-meson.git
revision = head

[provide]
dependency_names = glfw