2

我有一个使用ADD_EXECUTABLE. 可执行文件需要(链接到)已创建的共享库也是项目的一部分。

作为最后一步,我想运行这个可执行文件作为构建过程的一部分,为构建创建一些额外的文件。

所以

ADD_EXECUTABLE(foo)

ADD_CUSTOM_COMMAND(OUTPUT out1 
                   WORKING_DIRECTORY dir1
                   COMMAND foo args
                   ...)

但是,当自定义命令运行时,它会给出错误

.../foo: error while loading shared libraries: libbar.so.1: cannot open shared object file: No such file or directory
make[2]: *** [out1]  Error 127

make: *** [all] Error 2

问题是LD_LIBRARY_PATH没有为可执行文件设置加载库 libbar.so.1。如何以跨平台的方式在 cmake 中设置加载库设置。我不想使用 RPATH,因为它实际上将这些路径嵌入到可执行文件中,这是我不想要的。

4

0 回答 0