【发布时间】:2020-08-01 13:39:39
【问题描述】:
我想在我自己的 Windows 项目中添加一个 dll 作为依赖项。 我尝试了以下操作:
lept_include = include_directories('../libs/tesseract')
lept_lib = '/g/programming/meson/libs/tesseract/liblept-5.dll'
lept_dep = declare_dependency(link_with:lept_lib, include_directories:lept_include)
executable('test1', 'main.cpp', dependencies: [boost_dep, lept_dep])
但出现此错误:
..\meson.build:25:0: ERROR: '/g/programming/meson/libs/tesseract/liblept-5.dll' is not a target.
我也试过了,但也没用:
cc = meson.get_compiler('cpp')
lib_l1 = cc.find_library('liblept-5.dll', dirs : ['/g/programming/meson/libs/tesseract'])
lib_l2 = cc.find_library('liblept-5', dirs : ['/g/programming/meson/libs/tesseract'])
lib_l3 = cc.find_library('lept-5.dll', dirs : ['/g/programming/meson/libs/tesseract'])
lib_l4 = cc.find_library('lept-5', dirs : ['/g/programming/meson/libs/tesseract'])
我怎样才能做到这一点? 谢谢
【问题讨论】:
-
我认为你需要声明一个 custom_target() 或一个 shared_library() 包含该包含。看看这两个项目:github.com/jmgao/dhc/blob/… 和 github.com/SveSop/nvapi_standalone/blob/…
-
shared_library 正在构建一个不是用例的库。 custom_target 没有成功,至少不是我使用它的方式......令人惊讶的是
lib_l4 = cc.find_library('lept-5', dirs : ['/cygdrive/g/programming/meson/libs/tesseract'])现在正在工作。一开始我用的是windows的MSYS,现在我尝试了CYGWIN,找到了lib。
标签: c++ windows dll meson-build