【发布时间】:2016-03-17 09:54:45
【问题描述】:
我的问题与 PCL 安装有关,这里是:
我使用 MSVC2013 编译了 PCL,并手动更新了我的 PCLConfig.cmake 以指向它的所有依赖项(3rdParty 库)。问题是我还想将其二进制文件 /bin 文件夹设置在同一个 cmake 文件中(而不是将 /bin 添加到环境变量中)。有没有办法做到这一点?
使这个问题相关的原因是我正在测试不同版本的 PCL(1.6、1.7、1.8...),因此不会将 /bin 文件夹添加到所有这些版本的路径中会产生某种冲突之后它们之间(在检索步骤中)?
*要清楚,我成功做的是,使用cmake,我可以选择我想要的PCL版本的PCLConfig,但是在运行我的程序(成功编译)时,它会抛出一个丢失的pcl_**** .dll 丢失,这是逻辑,因为 PCL/bin 文件夹未添加到系统环境中。所以,我的问题是“我可以使用我项目的 CMakeLists 将 PCL/bin floder 添加到项目环境中吗?(而不是将其添加到系统环境中)”
提前致谢。
【问题讨论】:
-
The problem is that I want also to set its binaries /bin folders in the same cmake file- 你能详细说明你的问题吗?是否要导出PATH变量以及脚本PCLConfig.cmake中包含的<local-install>/bin目录?如果是这样,只需将set(ENV{PATH} "$ENV{PATH};<local-install>/bin")添加到PCLConfig.cmake。这样,find_program()等其他 CMake 命令也会搜索您的/bin目录。 -
我编辑了我的问题。简而言之,有没有办法使用 cmake 设置/编辑系统环境变量?
-
脚本只能为配置阶段设置环境变量。要使生成的可执行文件正常工作,需要正确调整 RPATH。 RPATH handling in CMAke 有很好的描述。
标签: cmake environment-variables point-cloud-library bin