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 = executable('Adventum', sources, include_directories : 'src', dependencies : [glfw, vulkan])
这是我的“子项目”(包装):
[wrap-git]
url = https://github.com/henry4k/glfw-meson.git
revision = head
我正在使用 GLFW 库,但我必须从支持介子的第三方分支中提取。这一切都很好,介子成功下载并构建了 GLFW 分支,但是即使介子应该清楚地知道我的项目依赖于 GLFW 库,它实际上并没有将 GLFW 二进制文件放在我的项目可执行文件旁边,所以它构建了依赖项但是我的程序无法运行,因为它找不到必要的二进制文件。
我必须在我的文件中指定什么东西meson.build
才能自动将二进制文件放在我的可执行文件旁边吗?
解决方案
如果您没有指定目录名或带有 的[provide]
部分dependency_names
,则文件名将.wrap
决定子项目的调用方式。因此,如果您的包装文件被调用,glfw-meson.wrap
您的子项目只能被引用glfw-meson
。
更好的做法是指定directory
:
[wrap-git]
directory = glfw
url = https://github.com/henry4k/glfw-meson.git
revision = head
或dependency_names
:
[wrap-git]
url = https://github.com/henry4k/glfw-meson.git
revision = head
[provide]
dependency_names = glfw
然后,你应该可以打电话subproject('glfw')
推荐阅读
- astropy - 从多个数字的 Photutils DAOStarFinder 表中排序相同的星
- python - 使用 put() 创建实体时的数据存储延迟
- python - 过滤具有冲突角色的员工数据框
- java - java.lang.IllegalStateException:无法协商服务器主机密钥算法的密钥交换
- python - 通过列中的标签列表对熊猫数据框行进行分组的有效方法
- reactjs - 如何在 ReactJs 中更改状态时添加段落
- java - 如何从 Java 1.8.0 升级到 Java 11?
- api - 将组添加到 Auth Code Flow pt 的范围。1
- python - 用文本小部件编写的行间距
- python - 如何在 pandas pd.read_excel 中通过其索引而不是其名称来指定列 dtype